SlideShare uma empresa Scribd logo
1 de 73
Baixar para ler offline
Estimação de orientação de câmera em
ambientes antrópicos a partir de edgels

                  Nicolau L. Werneck

        Orientadora: Profa. Dra. Anna Helena Reali Costa
      Laboratório de Técnicas Inteligentes, LTI — PCS — Poli

         Universidade de São Paulo

                17 de Agosto de 2012
Roteiro



    1   Introdução
    2   Descrição do funcionamento do Corisco
    3   Experimentos
    4   Conclusão




                                                1 / 40
Ambiente antrópico
  Um ambiente antrópico é composto por retas, que são
  paralelas às direções de um referencial natural.
  A orientação encontrada é uma rotação tridimensional
  entre o referencial natural e o referencial da câmera.




                                                           2 / 40
Edgels e retas
  Edgels são pontos amostrados sobre curvas ou retas.




  Edgels são utilizados para diversas tarefas.




                                                        3 / 40
Introdução

  Foi proposto um método de visão monocular,
  denominado Corisco, capaz de estimar a orientação de
  uma câmera em relação a um ambiente antrópico.
  Evolução de métodos existentes baseados em edgels
  (Coughlan and Yuille [2003]).
  Exemplos de aplicações:
      Guiamento de um robô móvel.
      Estimativas iniciais para visão multi-ocular.



                                                         4 / 40
Introdução

  Foi proposto um método de visão monocular,
  denominado Corisco, capaz de estimar a orientação de
  uma câmera em relação a um ambiente antrópico.
  Evolução de métodos existentes baseados em edgels
  (Coughlan and Yuille [2003]).
  Exemplos de aplicações:
      Guiamento de um robô móvel.
      Estimativas iniciais para visão multi-ocular.



                                                         4 / 40
Introdução

  Foi proposto um método de visão monocular,
  denominado Corisco, capaz de estimar a orientação de
  uma câmera em relação a um ambiente antrópico.
  Evolução de métodos existentes baseados em edgels
  (Coughlan and Yuille [2003]).
  Exemplos de aplicações:
      Guiamento de um robô móvel.
      Estimativas iniciais para visão multi-ocular.



                                                         4 / 40
Contribuições


  O Corisco possui as seguintes peculiaridades:
      Suporte a qualquer modelo de câmera possível.
      Comprometimento entre velocidade e precisão.
      Não assume nada sobre a solução.
      Dispensa operações de alto custo computacional
      (sin, atan, exp, log). Utiliza a função x −1/2 .




                                                         5 / 40
Visão em alto nível
  Entradas: Imagem, parâmetros intrínsecos e de controle.
  Saída: Orientação Ψ (rotação tridimensional).




                                                            6 / 40
Geometria
  A direção v de uma reta sobre o ponto p depende de Ψ.
                       (Ψ, p) → v




                                    http://youtu.be/PbUyvdnBIzs

                                                                  7 / 40
Objetivo



  Nossa pergunta
  Qual seria a melhor forma de estimar a orientação de
  câmera em tempo real em um ambiente antrópico a
  partir de uma única imagem distorcida?




                                                         8 / 40
Objetivo



  Nossa pergunta
  Qual seria a melhor forma de estimar a orientação de
  câmera em tempo real em um ambiente antrópico a
  partir de uma única imagem distorcida?




                                                         8 / 40
Edgels versus retas

  A orientação pode ser encontrada por retas (Caprile and
  Torre [1990], Cipolla et al. [1999], Rother [2002]).
       Mais intuitivos.
       Alcançam boas precisões.
  No entanto:
      Restrição à projeção perspectiva.
      Complexidade da extração de retas.
  Edgels permitem lidar com distorções e são mais fáceis
  de extrair e de sub-amostrar.


                                                            9 / 40
Detalhamento do Corisco




                          10 / 40
Detalhamento do Corisco




                          10 / 40
Detalhamento do Corisco




                          10 / 40
Detalhamento do Corisco




                          10 / 40
Diagrama de blocos




                     11 / 40
Diagrama de blocos




                     11 / 40
Diagrama de blocos




                     11 / 40
Extração de edgels




                     12 / 40
Extração de edgels
      Similar à detecção de bordas de Canny.
      Bordas são máximos locais na direção do gradiente.

           0         Imagem               0      Derivada em x
         100                            100
         200                            200
         300                            300
         400                            400
            0 100 200 300 400 500 600      0 100 200 300 400 500 600
           0 Intensidade do gradiente     0      Derivada em y
         100                            100
         200                            200
         300                            300
         400                            400
           0 100 200 300 400 500 600      0 100 200 300 400 500 600

                                                                       12 / 40
Extração de edgels
  Varredura da imagem sobre um conjunto de linhas e
  colunas que formam uma máscara em forma de grade.
  Cada borda encontrada produz um edgel. Sua direção
  deve ser aproximadamente ortogonal à da linha varrida.
    0         Grade de amostragem              0          Edgels extraídos

  100                                        100

  200                                        200

  300                                        300

  400                                        400

    0   100    200   300   400   500   600     0   100   200   300   400     500   600



                                                                                         13 / 40
Modelos de câmera




                    14 / 40
Modelos de câmera




                    14 / 40
Modelos de câmera
  Mapeamento bijetivo entre os pontos da imagem e
  direções ao redor do ponto focal da câmera.

                         q    p




                                                    14 / 40
Exemplos de modelos de câmera
  Grande angular, olho-de-peixe, equiretangular.




                                                   15 / 40
Equações de modelos de câmera


   Perspectiva               Equiretangular (lat-lon)
     px = (qx /qz )f + cx          px = f tan−1 (qz , qx )
     py = (qy /qz )f + cy          py = f sin−1 (qy /|q|)

   Harris (distorção radial) Polar Equidistante (olho-de-peixe)
                                  ϕ = cos−1 (qz /|q|)
    g(x ) = √ 1 2                               x
               1−2κx
      x = p x g(|p |) + cx        px = ϕ √ xq y 2 f + cx
    p                                       q  2 +q

    p y = p y g(|p |) + cy
                                  p y = ϕ √ qy         f + cy
                                            q x2+q  y2




                                                             16 / 40
Projeção de um edgel
  Um ponto qn de uma reta na direção rk é projetado em
  pn , produzindo um edgel com direção
                        vnk ∝ Jn rk       (v ← (Ψ, p))
  A matriz Jacobiana da projeção Jn depende de pn . A
  direção ortogonal a vn é denominada un .




                                                         17 / 40
Projeção de um edgel
  Um ponto qn de uma reta na direção rk é projetado em
  pn , produzindo um edgel com direção
                        vnk ∝ Jn rk       (v ← (Ψ, p))
  A matriz Jacobiana da projeção Jn depende de pn . A
  direção ortogonal a vn é denominada un .




                                                         17 / 40
Normal de um edgel



  Direção de um plano definido pelo ponto focal e por um
  edgel, ou uma reta correspondente no ambiente.

                    nk = ux Jx + uy Jy
                          k k     k k




                                                          18 / 40
Função objetivo




                  19 / 40
Função objetivo




                  19 / 40
Função objetivo
  A função objetivo é o cerne do método.
      Independe da técnica de extração.
      Determina o resultado.
      Conduz a escolha do algoritmo de otimização.
  A expressão tem a forma de uma soma de erros obtidos
  de cada observação.

                     yn = xn − xn (Ψ)
                               ˆ

                     F (Ψ) = ∑(yn )2
                              n



                                                         19 / 40
Matriz de rotação
  O cálculo das predições começa com o cálculo das
  direções do referencial natural rk em função de Ψ.
  O Corisco trabalha com quaternions.

                Ψ = (Ψa , Ψb , Ψc , Ψd )               |Ψ| = 1

  Para uma orientação Ψ qualquer temos
                                                   T
                      R(Ψ) =           rx ry rz        =
           2              2
   Ψa2 + Ψb − Ψc 2 − Ψd          2Ψb Ψc + 2Ψa Ψd          2Ψb Ψd − 2Ψa Ψc
                                      2            2
     2Ψb Ψc − 2Ψa Ψd          Ψa2 − Ψb + Ψc 2 − Ψd        2Ψc Ψd + 2Ψa Ψb
     2Ψb Ψd + 2Ψa Ψc             2Ψc Ψd − 2Ψa Ψb        Ψa2 − Ψb 2 − Ψc 2 + Ψd 2



                                                                                   20 / 40
Resíduo de um edgel
  Dados os rk , calculam-se as direções preditas vnk
  utilizando Jk .
                        Ψ → rk → vnk
                         vnk ∝ Jn rk

  O resíduo é obtido entre:
      vn (ou un ) medidos da imagem.
      vnk preditas a partir de Ψ e pn .

   Métodos anteriores:          Corisco:
    ∠v = arctan(vx , vy )         un vnk
    ∠vn − ∠vnk

                                                       21 / 40
Técnicas de estimação
  Comparação de técnicas já utilizadas com edgels:
                     MAP                      EM                 M-estimação
   Modelos        Probabilístico         Probabilístico             ρ(x )
   Classes             4                       4                      3
   Classificação        ×                   Iterativa               Direta

                          Funções de Tukey, e quadrática
           1.2
           1.0
           0.8
           0.6
           0.4
           0.2
           0.0      0.2        0.1     0.0      0.1        0.2


                                                                               22 / 40
Expressão da função objetivo
  Estimador MAP (Coughlan and Yuille [2003]):

   F (Ψ) = − ∑ log      ∑ p(cn = k)p(∠vn |Ψ, pn , cn = k)
                n        k


  Estimador EM (Schindler and Dellaert [2004]):
    F (Ψ) = − ∑ ∑ p(cn = k) log (p(∠vn |Ψ, pn , cn = k))
                 n k

             F (Ψ) = ∑ ∑ p(cn = k) (∠vn − ∠vnk )2
                       n k

  Corisco:
                    F (Ψ) = ∑ min ρ(un vnk )
                             n   k

                                                            23 / 40
Expressão da função objetivo
  Estimador MAP (Coughlan and Yuille [2003]):

   F (Ψ) = − ∑ log      ∑ p(cn = k)p(∠vn |Ψ, pn , cn = k)
                n        k


  Estimador EM (Schindler and Dellaert [2004]):
    F (Ψ) = − ∑ ∑ p(cn = k) log (p(∠vn |Ψ, pn , cn = k))
                 n k

             F (Ψ) = ∑ ∑ p(cn = k) (∠vn − ∠vnk )2
                       n k

  Corisco:
                    F (Ψ) = ∑ min ρ(un vnk )
                             n   k

                                                            23 / 40
Expressão da função objetivo
  Estimador MAP (Coughlan and Yuille [2003]):

   F (Ψ) = − ∑ log      ∑ p(cn = k)p(∠vn |Ψ, pn , cn = k)
                n        k


  Estimador EM (Schindler and Dellaert [2004]):
    F (Ψ) = − ∑ ∑ p(cn = k) log (p(∠vn |Ψ, pn , cn = k))
                 n k

             F (Ψ) = ∑ ∑ p(cn = k) (∠vn − ∠vnk )2
                       n k

  Corisco:
                    F (Ψ) = ∑ min ρ(un vnk )
                             n   k

                                                            23 / 40
Expressão da função objetivo
  Estimador MAP (Coughlan and Yuille [2003]):

   F (Ψ) = − ∑ log      ∑ p(cn = k)p(∠vn |Ψ, pn , cn = k)
                n        k


  Estimador EM (Schindler and Dellaert [2004]):
    F (Ψ) = − ∑ ∑ p(cn = k) log (p(∠vn |Ψ, pn , cn = k))
                 n k

             F (Ψ) = ∑ ∑ p(cn = k) (∠vn − ∠vnk )2
                       n k

  Corisco:
                    F (Ψ) = ∑ min ρ(un vnk )
                             n   k

                                                            23 / 40
Otimização




             24 / 40
Otimização




             24 / 40
Otimização


  Primeiro passo: RANSAC, busca estocástica guiada
  pelos dados. Inerentemente ineficiente e impreciso.
  → Ψ inicial
  Segundo passo: FilterSQP, otimização contínua, mais
  eficiente e precisa do que o RANSAC.
  → Ψ final




                                                        24 / 40
Otimização


  Primeiro passo: RANSAC, busca estocástica guiada
  pelos dados. Inerentemente ineficiente e impreciso.
  → Ψ inicial
  Segundo passo: FilterSQP, otimização contínua, mais
  eficiente e precisa do que o RANSAC.
  → Ψ final




                                                        24 / 40
Otimização


  Primeiro passo: RANSAC, busca estocástica guiada
  pelos dados. Inerentemente ineficiente e impreciso.
  → Ψ inicial
  Segundo passo: FilterSQP, otimização contínua, mais
  eficiente e precisa do que o RANSAC.
  → Ψ final




                                                        24 / 40
RANSAC

 Triplas de observações são selecionadas ao acaso. De
 cada tripla calcula-se um Ψ hipotético, utilizando nk .
 O Ψ de menor F (Ψ) é retido como estimativa inicial.




                                                           25 / 40
FilterSQP
  Minimizar F (Ψ) sobre as 4D e restrito a |Ψ| = 1.
                              SQP: Sequential Quadratic
   Programa não-linear →
                                   Programming
  O FilterSQP (Fletcher and Leyffer [2002]) dispensa
  funções de penalidade.




                                                          26 / 40
Derivada
  No Corisco as derivadas em Ψ são calculadas através de
  fórmulas fechadas.
                                        x         y
      ∂F                           x ∂ vnk    y ∂v
          (Ψ) = ∑ Knk ρ (un vnk ) un       + un nk
     ∂ Ψa       nk                   ∂ Ψa       ∂ Ψa

  As derivadas das direções rk são triviais:

                 ∂ rx
                         = 2(Ψa , Ψd , −Ψc )
                 ∂ Ψa
                 ∂ rx
                        = 2(Ψb , Ψc , Ψd )
                 ∂ Ψb
                        ···

                                                           27 / 40
Experimentos

  Foram realizados 3 experimentos que permitem avaliar o
  desempenho do Corisco.
  Cada experimento utilizou um conjunto de imagens, e um
  método diferente para obter orientações de referência.
  O erro observado é o deslocamento em graus da
  “rotação residual” entre cada estimativa e referência.
  O Corisco foi executado variando-se
      o tamanho da grade,
      e o número de iterações do RANSAC.


                                                           28 / 40
YorkUrbanDB


  Imagens: 101 imagens de ambientes antrópicos.
  Modelo: Perspectiva.
  Referência: Método semi-automático baseado em retas.
  Comparação: Métodos testados por Denis et al. [2008].
  Parâmetros do modelo, orientações de referência e
  estatísticas de desempenho fornecidos pelos autores.




                                                          29 / 40
YorkUrbanDB




              30 / 40
YorkUrbanDB
                                   Avaliação de desempenho do Corisco - Erro de Tukey, 10000 iterações do RANSAC
                                               Distribuição do erro                                Duração do processo
                              1
                              2
Largura da grade [pixels]




                             4
                              8
                             16
                             32
                            64                                                                                       Total
                            128                                                                                      RANSAC
                               0      2            4                  6       8            10      10              100
                                                       Erro [graus]                                     Tempo [segundos]




                                                                                                                           31 / 40
YorkUrbanDB
                                   Avaliação de desempenho do Corisco - Erro de Tukey, 1000 iterações do RANSAC
                                               Distribuição do erro                               Duração do processo
                              1
                              2
Largura da grade [pixels]




                             4
                              8
                             16
                             32
                            64                                                                                      Total
                            128                                                                                     RANSAC
                               0     2            4                  6       8            10       1               10
                                                      Erro [graus]                                     Tempo [segundos]




                                                                                                                          31 / 40
YorkUrbanDB
                                   Avaliação de desempenho do Corisco - Erro de Tukey, 200 iterações do RANSAC
                                              Distribuição do erro                                 Duração do processo
                              1
                              2
Largura da grade [pixels]




                             4
                              8
                             16
                             32
                            64                                                                                    Total
                            128                                                                                   RANSAC
                               0     2            4                  6       8            10 0.1             1              10
                                                      Erro [graus]                                   Tempo [segundos]




                                                                                                                         31 / 40
YorkUrbanDB

 Método                   Tempo                         Erro
                                   Média      σ       1/4    Mediana    3/4
 EM Newton                27+?     4, 00◦   1, 00◦   1, 15◦   2, 61◦   4, 10◦
 MAP Quasi-Newton          6+?     4, 00◦   1, 00◦   1, 32◦   2, 39◦   4, 07◦
 EM Quasi-Newton           1+?     9, 00◦   1, 00◦   4, 04◦   6, 21◦   10, 33◦
 Corisco i = 104 g = 1    50, 38   1, 68◦   3, 21◦   0, 73 ◦  1, 27◦   1, 73◦
 Corisco i = 104 g = 4    16, 18   1, 81◦   3, 24◦   0, 73◦   1, 11◦   1, 90◦
 Corisco i = 104 g = 32    6, 54   2, 36◦   3, 76◦   0, 88◦   1, 48◦   2, 14◦
 Corisco i = 103 g = 1     9, 71   2, 12◦   3, 00◦   0, 82 ◦  1, 52◦   2, 40◦
 Corisco i = 103 g = 4     2, 95   2, 27◦   3, 42◦   0, 87 ◦  1, 46◦   2, 38◦
 Corisco i = 103 g = 32    0, 93   2, 89◦   4, 05◦   1, 15◦   1, 86◦   2, 76◦
 Corisco i = 200 g = 1     6, 69   3, 47◦   4, 53◦   0, 88◦   1, 65◦   4, 49◦
 Corisco i = 200 g = 4     1, 84   4, 24◦   5, 79◦   1, 12 ◦  2, 06◦   5, 18◦
 Corisco i = 200 g = 32    0, 45   4, 24◦   4, 70◦   1, 50◦   2, 75◦   5, 20◦




                                                                            32 / 40
YorkUrbanDB

 Método                   Tempo                         Erro
                                   Média      σ       1/4    Mediana    3/4
 EM Newton                27+?     4, 00◦   1, 00◦   1, 15◦   2, 61◦   4, 10◦
 MAP Quasi-Newton          6+?     4, 00◦   1, 00◦   1, 32◦   2, 39◦   4, 07◦
 EM Quasi-Newton           1+?     9, 00◦   1, 00◦   4, 04◦   6, 21◦   10, 33◦
 Corisco i = 104 g = 1    50, 38   1, 68◦   3, 21◦   0, 73 ◦  1, 27◦   1, 73◦
 Corisco i = 104 g = 4    16, 18   1, 81◦   3, 24◦   0, 73◦   1, 11◦   1, 90◦
 Corisco i = 104 g = 32    6, 54   2, 36◦   3, 76◦   0, 88◦   1, 48◦   2, 14◦
 Corisco i = 103 g = 1     9, 71   2, 12◦   3, 00◦   0, 82 ◦  1, 52◦   2, 40◦
 Corisco i = 103 g = 4     2, 95   2, 27◦   3, 42◦   0, 87 ◦  1, 46◦   2, 38◦
 Corisco i = 103 g = 32    0, 93   2, 89◦   4, 05◦   1, 15◦   1, 86◦   2, 76◦
 Corisco i = 200 g = 1     6, 69   3, 47◦   4, 53◦   0, 88◦   1, 65◦   4, 49◦
 Corisco i = 200 g = 4     1, 84   4, 24◦   5, 79◦   1, 12 ◦  2, 06◦   5, 18◦
 Corisco i = 200 g = 32    0, 45   4, 24◦   4, 70◦   1, 50◦   2, 75◦   5, 20◦




                                                                            32 / 40
YorkUrbanDB

 Método                   Tempo                         Erro
                                   Média      σ       1/4    Mediana    3/4
 EM Newton                27+?     4, 00◦   1, 00◦   1, 15◦   2, 61◦   4, 10◦
 MAP Quasi-Newton          6+?     4, 00◦   1, 00◦   1, 32◦   2, 39◦   4, 07◦
 EM Quasi-Newton           1+?     9, 00◦   1, 00◦   4, 04◦   6, 21◦   10, 33◦
 Corisco i = 104 g = 1    50, 38   1, 68◦   3, 21◦   0, 73 ◦  1, 27◦   1, 73◦
 Corisco i = 104 g = 4    16, 18   1, 81◦   3, 24◦   0, 73◦   1, 11◦   1, 90◦
 Corisco i = 104 g = 32    6, 54   2, 36◦   3, 76◦   0, 88◦   1, 48◦   2, 14◦
 Corisco i = 103 g = 1     9, 71   2, 12◦   3, 00◦   0, 82 ◦  1, 52◦   2, 40◦
 Corisco i = 103 g = 4     2, 95   2, 27◦   3, 42◦   0, 87 ◦  1, 46◦   2, 38◦
 Corisco i = 103 g = 32    0, 93   2, 89◦   4, 05◦   1, 15◦   1, 86◦   2, 76◦
 Corisco i = 200 g = 1     6, 69   3, 47◦   4, 53◦   0, 88◦   1, 65◦   4, 49◦
 Corisco i = 200 g = 4     1, 84   4, 24◦   5, 79◦   1, 12 ◦  2, 06◦   5, 18◦
 Corisco i = 200 g = 32    0, 45   4, 24◦   4, 70◦   1, 50◦   2, 75◦   5, 20◦




                                                                            32 / 40
YorkUrbanDB

 Método                   Tempo                         Erro
                                   Média      σ       1/4    Mediana    3/4
 EM Newton                27+?     4, 00◦   1, 00◦   1, 15◦   2, 61◦   4, 10◦
 MAP Quasi-Newton          6+?     4, 00◦   1, 00◦   1, 32◦   2, 39◦   4, 07◦
 EM Quasi-Newton           1+?     9, 00◦   1, 00◦   4, 04◦   6, 21◦   10, 33◦
 Corisco i = 104 g = 1    50, 38   1, 68◦   3, 21◦   0, 73 ◦  1, 27◦   1, 73◦
 Corisco i = 104 g = 4    16, 18   1, 81◦   3, 24◦   0, 73◦   1, 11◦   1, 90◦
 Corisco i = 104 g = 32    6, 54   2, 36◦   3, 76◦   0, 88◦   1, 48◦   2, 14◦
 Corisco i = 103 g = 1     9, 71   2, 12◦   3, 00◦   0, 82 ◦  1, 52◦   2, 40◦
 Corisco i = 103 g = 4     2, 95   2, 27◦   3, 42◦   0, 87 ◦  1, 46◦   2, 38◦
 Corisco i = 103 g = 32    0, 93   2, 89◦   4, 05◦   1, 15◦   1, 86◦   2, 76◦
 Corisco i = 200 g = 1     6, 69   3, 47◦   4, 53◦   0, 88◦   1, 65◦   4, 49◦
 Corisco i = 200 g = 4     1, 84   4, 24◦   5, 79◦   1, 12 ◦  2, 06◦   5, 18◦
 Corisco i = 200 g = 32    0, 45   4, 24◦   4, 70◦   1, 50◦   2, 75◦   5, 20◦




                                                                            32 / 40
ApaSt

  Imagens: 24+24 imagens de edifícios.
  Modelo: Perspectiva com distorção radial (Harris).
  Referência: Bundler.




                                                       33 / 40
ApaSt
  O Bundler (Snavely et al. [2006]) foi utilizado para obter
  as orientações de referência e os parâmetros intrínsecos.
  Método multi-ocular baseado em pontos.




                                                               34 / 40
ApaSt
                                   Avaliação de desempenho do Corisco - Base ApaSt, 10000 iterações do RANSAC
                                              Distribuição do erro                               Duração do processo
                              1
                              2
Largura da grade [pixels]




                             4
                              8
                             16
                             32
                            64                                                                                      Total
                            128                                                                                     RANSAC
                               0     2            4                  6      8            10       10              100
                                                      Erro [graus]                                     Tempo [segundos]




                                                                                                                          35 / 40
ApaSt
                                   Avaliação de desempenho do Corisco - Base ApaSt, 1000 iterações do RANSAC
                                              Distribuição do erro                               Duração do processo
                              1
                              2
Largura da grade [pixels]




                             4
                              8
                             16
                             32
                            64                                                                                     Total
                            128                                                                                    RANSAC
                               0    2            4                  6       8            10       1               10
                                                     Erro [graus]                                     Tempo [segundos]




                                                                                                                         35 / 40
StreetView
  Imagens: 250 imagens de um ambiente urbano.
  Modelo: Projeção equiretangular.
  Referência: Sensores físicos (IMU).




                                                36 / 40
StreetView
  Erro     1◦ , tempo             17s.
                        Parâmetros estimados e referência ajustada
         1.0000                                  0.03
         0.9995                                  0.02
         0.9990                                  0.01
         0.9985                                  0.00
         0.9980                                  0.01
         0.9975                                  0.02
         0.99700                                 0.03
                   50     100   150    200   250     0      50    100   150   200   250
           0.03                                  0.03
           0.02                                  0.02
           0.01                                  0.01
           0.00                                  0.00
           0.01                                  0.01
           0.02                                  0.02
           0.03                                  0.03
               0   50     100   150    200   250     0      50    100   150   200   250
                                      Estimativa         Referência

                                                                                          37 / 40
Conclusão

  O Corisco constitui um método com grande potencial
  para aplicação imediata.
       Implementação relativamente simples.
       Grande robustez (distorções, RANSAC).
       Bom desempenho.
  Demonstrou-se as vantagens do uso da máscara em
  forma de grade, e da M-estimação.
  Também foi demonstrado como utilizar o FilterSQP para
  trabalhar naturalmente com quaternions.


                                                          38 / 40
Trabalhos futuros


      Controle automático dos parâmetros.
      Reconstrução multi-ocular e monocular.
      Utilizar filtros direcionais para medir o erro angular.
      Utilizar a máscara de grade em outros problemas.
      Estimar orientação e calibração, e extrair curvas em
      um processo unificado. (MRF?)




                                                               39 / 40
Fim




  Obrigado!




  Financiamento
  Obrigado à Capes, CNPq e USP pelo suporte financeiro.
                                                         40 / 40
Publicações


     Speeding up probabilistic inference of camera
     orientation by function approximation and grid
     masking, Werneck and Costa [2011]
     Mapping with monocular vision in two dimensions,
     Werneck and Costa [2010]
     Medição de distância e altura de bordas horizontais
     com visão monocular linear para robôs móveis,
     Werneck et al. [2009]




                                                           1/5
Referências Bibliográficas
B. Caprile and V. Torre. Using vanishing points for camera calibration.
   International Journal of Computer Vision, 4(2):127–139, March 1990.
   ISSN 0920-5691. doi: 10.1007/BF00127813. URL
   http://www.springerlink.com/content/k75077108473tm15/.
R Cipolla, T Drummond, and D Robertson. Camera calibration from
   vanishing points in images of architectural scenes. In Proc. of the
   British Machine Vision Conference, volume 2, pages 382–391, 1999.
James M. Coughlan and A. L. Yuille. Manhattan world: orientation and
  outlier detection by Bayesian inference. Neural Computation, 15(5):
  1063—-1088, March 2003. URL http://www.mitpressjournals.org/
  doi/abs/10.1162/089976603765202668.
Patrick Denis, James H Elder, and Francisco J Estrada. Efficient
   edge-based methods for estimating Manhattan frames in urban imagery.
   In Proceedings of the 10th European Conference on Computer Vision,
   pages 197–210. Springer-Verlag, 2008. doi:
   10.1007/978-3-540-88688-4_15.
Roger Fletcher and Sven Leyffer. Nonlinear programming without a penalty
  function. Mathematical Programming, 91(2):239–269, January 2002.
  ISSN 0025-5610. doi: 10.1007/s101070100244. URL
  http://www.springerlink.com/content/qqj37x00y79ygdl8/.

                                                                          2/5
Carsten Rother. A new approach to vanishing point detection in
   architectural environments. Image and Vision Computing, 20(9-10):
   647–655, 2002. doi: 10.1016/S0262-8856(02)00054-9. URL
   http://dx.doi.org/10.1016/S0262-8856(02)00054-9.
G. Schindler and F. Dellaert. Atlanta world: an expectation maximization
   framework for simultaneous low-level edge grouping and camera
   calibration in complex man-made environments. In Proceedings of the
   2004 IEEE Computer Society Conference on Computer Vision and
   Pattern Recognition, 2004. CVPR 2004., pages 203–209. IEEE, 2004.
   ISBN 0-7695-2158-4. doi: 10.1109/CVPR.2004.1315033. URL http:
   //ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1315033.
Noah Snavely, Steven M. Seitz, and Richard Szeliski. Photo tourism:
  exploring photo collections in 3D. In ACM Transactions on Graphics
  (Proceedings of SIGGRAPH 2006), pages 835–846, 2006. URL
  http://dl.acm.org/citation.cfm?id=1141964.
Nicolau Leal Werneck and Anna Helena Reali Costa. Mapping with
   monocular vision in two dimensions. International Journal of Natural
   Computing Research, 1(4), 2010.



                                                                           3/5
Nicolau Leal Werneck and Anna Helena Reali Costa. Speeding up
   probabilistic inference of camera orientation by function approximation
   and grid masking. In Gladimir Baranoski and Vaclav Skala, editors,
   WSCG 2011 Communication Papers, pages 127–134, Plzen, Czech
   Republic, 2011. UNION Agency. URL
   http://nwerneck.sdf.org/almoxarifado/nic-wscg2011.pdf.
Nicolau Leal Werneck, Flávio Sales Truzzi, and Anna Helena Reali Costa.
   Medição de distância e altura de bordas horizontais com visão
   monocular linear para robôs móveis. In Anais do V Workshop de Visão
   Computacional, São Paulo, 2009. URL http://www.lti.pcs.usp.br/
   ~nwerneck/almoxarifado/59760_WerneckTruzziCosta.pdf.




                                                                             4/5
Teste de calibração
  Estimação da distância focal com a mesma F (Ψ).
                                                             Calibração baseada no Corisco - Função objetivo variando com a distância focal

                                             2000                N8 - todas imagens                                            2000              a230 - todas imagens


             Função objetivo (transladada)




                                                                                               Função objetivo (transladada)
                                             1500                                                                              1500


                                             1000                                                                              1000


                                                       500                                                                               500


                                                        0                                                                                 0
                                                         600 700 800 900 1000 1100 1200 600 700 800 900 1000 1100 1200
                                                                    Distância focal                 Distância focal
                                                       160    N8 - imagens individuais 160  a230 - imagens individuais
                                                       140                                                                               140
                       Função objetivo (transladada)




                                                                                                         Função objetivo (transladada)
                                                       120                                                                               120
                                                       100                                                                               100
                                                       80                                                                                80
                                                       60                                                                                60
                                                       40                                                                                40
                                                       20                                                                                20
                                                        0                                                                                 0
                                                        600 700 800 900 1000 1100 1200                                                    600 700 800 900 1000 1100 1200
                                                                 Distância focal                                                                   Distância focal
                                                                          Referência (Bundler)                                                 Estimado (Corisco)


                                                                                                                                                                           5/5

Mais conteúdo relacionado

Mais procurados

www.aulasdefisicaapoio.com - Física - Exercícios Resolvidos Lentes Esféricas
www.aulasdefisicaapoio.com - Física - Exercícios Resolvidos Lentes Esféricaswww.aulasdefisicaapoio.com - Física - Exercícios Resolvidos Lentes Esféricas
www.aulasdefisicaapoio.com - Física - Exercícios Resolvidos Lentes EsféricasVideoaulas De Física Apoio
 
Refração da luz e espelhos planos (versão 2018)
Refração da luz e espelhos planos (versão 2018)Refração da luz e espelhos planos (versão 2018)
Refração da luz e espelhos planos (versão 2018)Marco Antonio Sanches
 
Lista 22 espelho esférico
Lista 22 espelho esféricoLista 22 espelho esférico
Lista 22 espelho esféricorodrigoateneu
 
Reflexão da luz
Reflexão da luzReflexão da luz
Reflexão da luzFranck Lima
 
Leis da Reflexão e Espelhos Planos
Leis da Reflexão e Espelhos PlanosLeis da Reflexão e Espelhos Planos
Leis da Reflexão e Espelhos PlanosSamia Dantas
 
Questões Corrigidas, em Word: Espelhos Imagens - Conteúdo vinculado ao blog...
Questões Corrigidas, em Word:  Espelhos Imagens  - Conteúdo vinculado ao blog...Questões Corrigidas, em Word:  Espelhos Imagens  - Conteúdo vinculado ao blog...
Questões Corrigidas, em Word: Espelhos Imagens - Conteúdo vinculado ao blog...Rodrigo Penna
 
Professor dudu espelho plano 1
Professor dudu   espelho plano 1Professor dudu   espelho plano 1
Professor dudu espelho plano 1Theo Luiz
 
Aula 03 optica exercicios
Aula 03  optica exerciciosAula 03  optica exercicios
Aula 03 optica exerciciosPedro Mateus
 
Óptica Geométrica - Estudo das lentes esféricas
Óptica Geométrica - Estudo das lentes esféricasÓptica Geométrica - Estudo das lentes esféricas
Óptica Geométrica - Estudo das lentes esféricasMarco Antonio Sanches
 
Óptica Geométrica - Lentes
Óptica Geométrica - LentesÓptica Geométrica - Lentes
Óptica Geométrica - LentesDavi Oliveira
 
Lentes esféricas-basico
Lentes esféricas-basicoLentes esféricas-basico
Lentes esféricas-basicomagic leal
 

Mais procurados (18)

www.aulasdefisicaapoio.com - Física - Exercícios Resolvidos Lentes Esféricas
www.aulasdefisicaapoio.com - Física - Exercícios Resolvidos Lentes Esféricaswww.aulasdefisicaapoio.com - Física - Exercícios Resolvidos Lentes Esféricas
www.aulasdefisicaapoio.com - Física - Exercícios Resolvidos Lentes Esféricas
 
LENTES
LENTESLENTES
LENTES
 
Refração da luz e espelhos planos (versão 2018)
Refração da luz e espelhos planos (versão 2018)Refração da luz e espelhos planos (versão 2018)
Refração da luz e espelhos planos (versão 2018)
 
Reflexão da luz
Reflexão da luzReflexão da luz
Reflexão da luz
 
Lista 22 espelho esférico
Lista 22 espelho esféricoLista 22 espelho esférico
Lista 22 espelho esférico
 
Reflexão da luz
Reflexão da luzReflexão da luz
Reflexão da luz
 
Leis da Reflexão e Espelhos Planos
Leis da Reflexão e Espelhos PlanosLeis da Reflexão e Espelhos Planos
Leis da Reflexão e Espelhos Planos
 
Lentes esféricas
Lentes esféricasLentes esféricas
Lentes esféricas
 
Lentes site
Lentes siteLentes site
Lentes site
 
Espelho esférico
Espelho esféricoEspelho esférico
Espelho esférico
 
Questões Corrigidas, em Word: Espelhos Imagens - Conteúdo vinculado ao blog...
Questões Corrigidas, em Word:  Espelhos Imagens  - Conteúdo vinculado ao blog...Questões Corrigidas, em Word:  Espelhos Imagens  - Conteúdo vinculado ao blog...
Questões Corrigidas, em Word: Espelhos Imagens - Conteúdo vinculado ao blog...
 
Professor dudu espelho plano 1
Professor dudu   espelho plano 1Professor dudu   espelho plano 1
Professor dudu espelho plano 1
 
Aula 03 optica exercicios
Aula 03  optica exerciciosAula 03  optica exercicios
Aula 03 optica exercicios
 
Óptica Geométrica - Estudo das lentes esféricas
Óptica Geométrica - Estudo das lentes esféricasÓptica Geométrica - Estudo das lentes esféricas
Óptica Geométrica - Estudo das lentes esféricas
 
M2 teoria
M2 teoriaM2 teoria
M2 teoria
 
Óptica
ÓpticaÓptica
Óptica
 
Óptica Geométrica - Lentes
Óptica Geométrica - LentesÓptica Geométrica - Lentes
Óptica Geométrica - Lentes
 
Lentes esféricas-basico
Lentes esféricas-basicoLentes esféricas-basico
Lentes esféricas-basico
 

Semelhante a Estimação de orientação de câmera em ambientes antrópicos a partir de edgels

Fotogrametria digital
Fotogrametria digitalFotogrametria digital
Fotogrametria digitalguest72086
 
Analisador de vibrações VIII Função de dois canais no domínio do tempo - or...
Analisador de vibrações VIII   Função de dois canais no domínio do tempo - or...Analisador de vibrações VIII   Função de dois canais no domínio do tempo - or...
Analisador de vibrações VIII Função de dois canais no domínio do tempo - or...DMC Engenharia e Sistemas Ibéricos Lda
 
cinematica diferencial
cinematica diferencialcinematica diferencial
cinematica diferencialArpus Supra
 
Química Analítica_material de apoio_aula 2.pdf
Química Analítica_material de apoio_aula 2.pdfQuímica Analítica_material de apoio_aula 2.pdf
Química Analítica_material de apoio_aula 2.pdfGeanGomes8
 
www.aulasapoio.com - Exercícios Resolvidos Óptica
www.aulasapoio.com  - Exercícios  Resolvidos Ópticawww.aulasapoio.com  - Exercícios  Resolvidos Óptica
www.aulasapoio.com - Exercícios Resolvidos ÓpticaVideo Aulas Apoio
 
www.aulasapoio.com.br - Física - Exercícios resolvidos Óptica
www.aulasapoio.com.br  - Física - Exercícios resolvidos Ópticawww.aulasapoio.com.br  - Física - Exercícios resolvidos Óptica
www.aulasapoio.com.br - Física - Exercícios resolvidos ÓpticaBárbara Cristina
 
5 robotica de manipulação
5 robotica de manipulação5 robotica de manipulação
5 robotica de manipulaçãoDavid Chivala
 
Fundamentos da Imagem Digital
Fundamentos da Imagem DigitalFundamentos da Imagem Digital
Fundamentos da Imagem DigitalFabiane Queiroz
 
Aula de Imagenologia sobre Tomografia Computadorizada
Aula de Imagenologia sobre Tomografia ComputadorizadaAula de Imagenologia sobre Tomografia Computadorizada
Aula de Imagenologia sobre Tomografia ComputadorizadaJaqueline Almeida
 
Mat circunferencia circulo
Mat circunferencia   circuloMat circunferencia   circulo
Mat circunferencia circulotrigono_metria
 
Noções de geometria
Noções de geometriaNoções de geometria
Noções de geometriarosania39
 
Dissertação Mestrado Marcus Lima
Dissertação Mestrado Marcus LimaDissertação Mestrado Marcus Lima
Dissertação Mestrado Marcus LimaMarcus Lima
 
Slides de PDI 2009 - Raphael Update 5
Slides de PDI 2009 - Raphael Update 5Slides de PDI 2009 - Raphael Update 5
Slides de PDI 2009 - Raphael Update 5Raphael Marques
 
Apostila_5_TOPO_Leituras-Angulares.pdf
Apostila_5_TOPO_Leituras-Angulares.pdfApostila_5_TOPO_Leituras-Angulares.pdf
Apostila_5_TOPO_Leituras-Angulares.pdfFacul4
 

Semelhante a Estimação de orientação de câmera em ambientes antrópicos a partir de edgels (20)

Fotogrametria digital
Fotogrametria digitalFotogrametria digital
Fotogrametria digital
 
Tomografos
TomografosTomografos
Tomografos
 
Analisador de vibrações VIII Função de dois canais no domínio do tempo - or...
Analisador de vibrações VIII   Função de dois canais no domínio do tempo - or...Analisador de vibrações VIII   Função de dois canais no domínio do tempo - or...
Analisador de vibrações VIII Função de dois canais no domínio do tempo - or...
 
Projeções - JAI 1998
Projeções - JAI 1998Projeções - JAI 1998
Projeções - JAI 1998
 
cinematica diferencial
cinematica diferencialcinematica diferencial
cinematica diferencial
 
Química Analítica_material de apoio_aula 2.pdf
Química Analítica_material de apoio_aula 2.pdfQuímica Analítica_material de apoio_aula 2.pdf
Química Analítica_material de apoio_aula 2.pdf
 
óPtica lentes
óPtica lentesóPtica lentes
óPtica lentes
 
www.aulasapoio.com - Exercícios Resolvidos Óptica
www.aulasapoio.com  - Exercícios  Resolvidos Ópticawww.aulasapoio.com  - Exercícios  Resolvidos Óptica
www.aulasapoio.com - Exercícios Resolvidos Óptica
 
www.aulasapoio.com.br - Física - Exercícios resolvidos Óptica
www.aulasapoio.com.br  - Física - Exercícios resolvidos Ópticawww.aulasapoio.com.br  - Física - Exercícios resolvidos Óptica
www.aulasapoio.com.br - Física - Exercícios resolvidos Óptica
 
Exercicios de opticas
Exercicios de opticasExercicios de opticas
Exercicios de opticas
 
5 robotica de manipulação
5 robotica de manipulação5 robotica de manipulação
5 robotica de manipulação
 
Fundamentos da Imagem Digital
Fundamentos da Imagem DigitalFundamentos da Imagem Digital
Fundamentos da Imagem Digital
 
Aula de Imagenologia sobre Tomografia Computadorizada
Aula de Imagenologia sobre Tomografia ComputadorizadaAula de Imagenologia sobre Tomografia Computadorizada
Aula de Imagenologia sobre Tomografia Computadorizada
 
Geoestatística
GeoestatísticaGeoestatística
Geoestatística
 
Mat circunferencia circulo
Mat circunferencia   circuloMat circunferencia   circulo
Mat circunferencia circulo
 
Noções de geometria
Noções de geometriaNoções de geometria
Noções de geometria
 
Dissertação Mestrado Marcus Lima
Dissertação Mestrado Marcus LimaDissertação Mestrado Marcus Lima
Dissertação Mestrado Marcus Lima
 
Slides de PDI 2009 - Raphael Update 5
Slides de PDI 2009 - Raphael Update 5Slides de PDI 2009 - Raphael Update 5
Slides de PDI 2009 - Raphael Update 5
 
Geoplana
GeoplanaGeoplana
Geoplana
 
Apostila_5_TOPO_Leituras-Angulares.pdf
Apostila_5_TOPO_Leituras-Angulares.pdfApostila_5_TOPO_Leituras-Angulares.pdf
Apostila_5_TOPO_Leituras-Angulares.pdf
 

Mais de Nicolau Werneck

Introdução a Scala [GeekieTalk]
Introdução a Scala [GeekieTalk]Introdução a Scala [GeekieTalk]
Introdução a Scala [GeekieTalk]Nicolau Werneck
 
Expectation Maximization: o básico do básico
Expectation Maximization: o básico do básicoExpectation Maximization: o básico do básico
Expectation Maximization: o básico do básicoNicolau Werneck
 
Nicolau Werneck professional experience
Nicolau Werneck professional experienceNicolau Werneck professional experience
Nicolau Werneck professional experienceNicolau Werneck
 
Speeding up probabilistic inference of camera orientation by function ap...
Speeding up probabilistic inference of    camera orientation by function   ap...Speeding up probabilistic inference of    camera orientation by function   ap...
Speeding up probabilistic inference of camera orientation by function ap...Nicolau Werneck
 
Detecção de quedas em robôs móveis com visão monocular linear
Detecção de quedas em robôs móveis com visão monocular linearDetecção de quedas em robôs móveis com visão monocular linear
Detecção de quedas em robôs móveis com visão monocular linearNicolau Werneck
 
Mapeamento Visual Monocular com a Transformada Rápida de Hough
Mapeamento Visual Monocular com a Transformada Rápida de HoughMapeamento Visual Monocular com a Transformada Rápida de Hough
Mapeamento Visual Monocular com a Transformada Rápida de HoughNicolau Werneck
 

Mais de Nicolau Werneck (8)

Corisco - 2015
Corisco - 2015Corisco - 2015
Corisco - 2015
 
Introdução a Scala [GeekieTalk]
Introdução a Scala [GeekieTalk]Introdução a Scala [GeekieTalk]
Introdução a Scala [GeekieTalk]
 
Expectation Maximization: o básico do básico
Expectation Maximization: o básico do básicoExpectation Maximization: o básico do básico
Expectation Maximization: o básico do básico
 
Nicolau Werneck professional experience
Nicolau Werneck professional experienceNicolau Werneck professional experience
Nicolau Werneck professional experience
 
Agrupamento espectral
Agrupamento espectralAgrupamento espectral
Agrupamento espectral
 
Speeding up probabilistic inference of camera orientation by function ap...
Speeding up probabilistic inference of    camera orientation by function   ap...Speeding up probabilistic inference of    camera orientation by function   ap...
Speeding up probabilistic inference of camera orientation by function ap...
 
Detecção de quedas em robôs móveis com visão monocular linear
Detecção de quedas em robôs móveis com visão monocular linearDetecção de quedas em robôs móveis com visão monocular linear
Detecção de quedas em robôs móveis com visão monocular linear
 
Mapeamento Visual Monocular com a Transformada Rápida de Hough
Mapeamento Visual Monocular com a Transformada Rápida de HoughMapeamento Visual Monocular com a Transformada Rápida de Hough
Mapeamento Visual Monocular com a Transformada Rápida de Hough
 

Estimação de orientação de câmera em ambientes antrópicos a partir de edgels

  • 1. Estimação de orientação de câmera em ambientes antrópicos a partir de edgels Nicolau L. Werneck Orientadora: Profa. Dra. Anna Helena Reali Costa Laboratório de Técnicas Inteligentes, LTI — PCS — Poli Universidade de São Paulo 17 de Agosto de 2012
  • 2. Roteiro 1 Introdução 2 Descrição do funcionamento do Corisco 3 Experimentos 4 Conclusão 1 / 40
  • 3. Ambiente antrópico Um ambiente antrópico é composto por retas, que são paralelas às direções de um referencial natural. A orientação encontrada é uma rotação tridimensional entre o referencial natural e o referencial da câmera. 2 / 40
  • 4. Edgels e retas Edgels são pontos amostrados sobre curvas ou retas. Edgels são utilizados para diversas tarefas. 3 / 40
  • 5. Introdução Foi proposto um método de visão monocular, denominado Corisco, capaz de estimar a orientação de uma câmera em relação a um ambiente antrópico. Evolução de métodos existentes baseados em edgels (Coughlan and Yuille [2003]). Exemplos de aplicações: Guiamento de um robô móvel. Estimativas iniciais para visão multi-ocular. 4 / 40
  • 6. Introdução Foi proposto um método de visão monocular, denominado Corisco, capaz de estimar a orientação de uma câmera em relação a um ambiente antrópico. Evolução de métodos existentes baseados em edgels (Coughlan and Yuille [2003]). Exemplos de aplicações: Guiamento de um robô móvel. Estimativas iniciais para visão multi-ocular. 4 / 40
  • 7. Introdução Foi proposto um método de visão monocular, denominado Corisco, capaz de estimar a orientação de uma câmera em relação a um ambiente antrópico. Evolução de métodos existentes baseados em edgels (Coughlan and Yuille [2003]). Exemplos de aplicações: Guiamento de um robô móvel. Estimativas iniciais para visão multi-ocular. 4 / 40
  • 8. Contribuições O Corisco possui as seguintes peculiaridades: Suporte a qualquer modelo de câmera possível. Comprometimento entre velocidade e precisão. Não assume nada sobre a solução. Dispensa operações de alto custo computacional (sin, atan, exp, log). Utiliza a função x −1/2 . 5 / 40
  • 9. Visão em alto nível Entradas: Imagem, parâmetros intrínsecos e de controle. Saída: Orientação Ψ (rotação tridimensional). 6 / 40
  • 10. Geometria A direção v de uma reta sobre o ponto p depende de Ψ. (Ψ, p) → v http://youtu.be/PbUyvdnBIzs 7 / 40
  • 11. Objetivo Nossa pergunta Qual seria a melhor forma de estimar a orientação de câmera em tempo real em um ambiente antrópico a partir de uma única imagem distorcida? 8 / 40
  • 12. Objetivo Nossa pergunta Qual seria a melhor forma de estimar a orientação de câmera em tempo real em um ambiente antrópico a partir de uma única imagem distorcida? 8 / 40
  • 13. Edgels versus retas A orientação pode ser encontrada por retas (Caprile and Torre [1990], Cipolla et al. [1999], Rother [2002]). Mais intuitivos. Alcançam boas precisões. No entanto: Restrição à projeção perspectiva. Complexidade da extração de retas. Edgels permitem lidar com distorções e são mais fáceis de extrair e de sub-amostrar. 9 / 40
  • 22. Extração de edgels Similar à detecção de bordas de Canny. Bordas são máximos locais na direção do gradiente. 0 Imagem 0 Derivada em x 100 100 200 200 300 300 400 400 0 100 200 300 400 500 600 0 100 200 300 400 500 600 0 Intensidade do gradiente 0 Derivada em y 100 100 200 200 300 300 400 400 0 100 200 300 400 500 600 0 100 200 300 400 500 600 12 / 40
  • 23. Extração de edgels Varredura da imagem sobre um conjunto de linhas e colunas que formam uma máscara em forma de grade. Cada borda encontrada produz um edgel. Sua direção deve ser aproximadamente ortogonal à da linha varrida. 0 Grade de amostragem 0 Edgels extraídos 100 100 200 200 300 300 400 400 0 100 200 300 400 500 600 0 100 200 300 400 500 600 13 / 40
  • 26. Modelos de câmera Mapeamento bijetivo entre os pontos da imagem e direções ao redor do ponto focal da câmera. q p 14 / 40
  • 27. Exemplos de modelos de câmera Grande angular, olho-de-peixe, equiretangular. 15 / 40
  • 28. Equações de modelos de câmera Perspectiva Equiretangular (lat-lon) px = (qx /qz )f + cx px = f tan−1 (qz , qx ) py = (qy /qz )f + cy py = f sin−1 (qy /|q|) Harris (distorção radial) Polar Equidistante (olho-de-peixe) ϕ = cos−1 (qz /|q|) g(x ) = √ 1 2 x 1−2κx x = p x g(|p |) + cx px = ϕ √ xq y 2 f + cx p q 2 +q p y = p y g(|p |) + cy p y = ϕ √ qy f + cy q x2+q y2 16 / 40
  • 29. Projeção de um edgel Um ponto qn de uma reta na direção rk é projetado em pn , produzindo um edgel com direção vnk ∝ Jn rk (v ← (Ψ, p)) A matriz Jacobiana da projeção Jn depende de pn . A direção ortogonal a vn é denominada un . 17 / 40
  • 30. Projeção de um edgel Um ponto qn de uma reta na direção rk é projetado em pn , produzindo um edgel com direção vnk ∝ Jn rk (v ← (Ψ, p)) A matriz Jacobiana da projeção Jn depende de pn . A direção ortogonal a vn é denominada un . 17 / 40
  • 31. Normal de um edgel Direção de um plano definido pelo ponto focal e por um edgel, ou uma reta correspondente no ambiente. nk = ux Jx + uy Jy k k k k 18 / 40
  • 32. Função objetivo 19 / 40
  • 33. Função objetivo 19 / 40
  • 34. Função objetivo A função objetivo é o cerne do método. Independe da técnica de extração. Determina o resultado. Conduz a escolha do algoritmo de otimização. A expressão tem a forma de uma soma de erros obtidos de cada observação. yn = xn − xn (Ψ) ˆ F (Ψ) = ∑(yn )2 n 19 / 40
  • 35. Matriz de rotação O cálculo das predições começa com o cálculo das direções do referencial natural rk em função de Ψ. O Corisco trabalha com quaternions. Ψ = (Ψa , Ψb , Ψc , Ψd ) |Ψ| = 1 Para uma orientação Ψ qualquer temos T R(Ψ) = rx ry rz = 2 2 Ψa2 + Ψb − Ψc 2 − Ψd 2Ψb Ψc + 2Ψa Ψd 2Ψb Ψd − 2Ψa Ψc 2 2 2Ψb Ψc − 2Ψa Ψd Ψa2 − Ψb + Ψc 2 − Ψd 2Ψc Ψd + 2Ψa Ψb 2Ψb Ψd + 2Ψa Ψc 2Ψc Ψd − 2Ψa Ψb Ψa2 − Ψb 2 − Ψc 2 + Ψd 2 20 / 40
  • 36. Resíduo de um edgel Dados os rk , calculam-se as direções preditas vnk utilizando Jk . Ψ → rk → vnk vnk ∝ Jn rk O resíduo é obtido entre: vn (ou un ) medidos da imagem. vnk preditas a partir de Ψ e pn . Métodos anteriores: Corisco: ∠v = arctan(vx , vy ) un vnk ∠vn − ∠vnk 21 / 40
  • 37. Técnicas de estimação Comparação de técnicas já utilizadas com edgels: MAP EM M-estimação Modelos Probabilístico Probabilístico ρ(x ) Classes 4 4 3 Classificação × Iterativa Direta Funções de Tukey, e quadrática 1.2 1.0 0.8 0.6 0.4 0.2 0.0 0.2 0.1 0.0 0.1 0.2 22 / 40
  • 38. Expressão da função objetivo Estimador MAP (Coughlan and Yuille [2003]): F (Ψ) = − ∑ log ∑ p(cn = k)p(∠vn |Ψ, pn , cn = k) n k Estimador EM (Schindler and Dellaert [2004]): F (Ψ) = − ∑ ∑ p(cn = k) log (p(∠vn |Ψ, pn , cn = k)) n k F (Ψ) = ∑ ∑ p(cn = k) (∠vn − ∠vnk )2 n k Corisco: F (Ψ) = ∑ min ρ(un vnk ) n k 23 / 40
  • 39. Expressão da função objetivo Estimador MAP (Coughlan and Yuille [2003]): F (Ψ) = − ∑ log ∑ p(cn = k)p(∠vn |Ψ, pn , cn = k) n k Estimador EM (Schindler and Dellaert [2004]): F (Ψ) = − ∑ ∑ p(cn = k) log (p(∠vn |Ψ, pn , cn = k)) n k F (Ψ) = ∑ ∑ p(cn = k) (∠vn − ∠vnk )2 n k Corisco: F (Ψ) = ∑ min ρ(un vnk ) n k 23 / 40
  • 40. Expressão da função objetivo Estimador MAP (Coughlan and Yuille [2003]): F (Ψ) = − ∑ log ∑ p(cn = k)p(∠vn |Ψ, pn , cn = k) n k Estimador EM (Schindler and Dellaert [2004]): F (Ψ) = − ∑ ∑ p(cn = k) log (p(∠vn |Ψ, pn , cn = k)) n k F (Ψ) = ∑ ∑ p(cn = k) (∠vn − ∠vnk )2 n k Corisco: F (Ψ) = ∑ min ρ(un vnk ) n k 23 / 40
  • 41. Expressão da função objetivo Estimador MAP (Coughlan and Yuille [2003]): F (Ψ) = − ∑ log ∑ p(cn = k)p(∠vn |Ψ, pn , cn = k) n k Estimador EM (Schindler and Dellaert [2004]): F (Ψ) = − ∑ ∑ p(cn = k) log (p(∠vn |Ψ, pn , cn = k)) n k F (Ψ) = ∑ ∑ p(cn = k) (∠vn − ∠vnk )2 n k Corisco: F (Ψ) = ∑ min ρ(un vnk ) n k 23 / 40
  • 42. Otimização 24 / 40
  • 43. Otimização 24 / 40
  • 44. Otimização Primeiro passo: RANSAC, busca estocástica guiada pelos dados. Inerentemente ineficiente e impreciso. → Ψ inicial Segundo passo: FilterSQP, otimização contínua, mais eficiente e precisa do que o RANSAC. → Ψ final 24 / 40
  • 45. Otimização Primeiro passo: RANSAC, busca estocástica guiada pelos dados. Inerentemente ineficiente e impreciso. → Ψ inicial Segundo passo: FilterSQP, otimização contínua, mais eficiente e precisa do que o RANSAC. → Ψ final 24 / 40
  • 46. Otimização Primeiro passo: RANSAC, busca estocástica guiada pelos dados. Inerentemente ineficiente e impreciso. → Ψ inicial Segundo passo: FilterSQP, otimização contínua, mais eficiente e precisa do que o RANSAC. → Ψ final 24 / 40
  • 47. RANSAC Triplas de observações são selecionadas ao acaso. De cada tripla calcula-se um Ψ hipotético, utilizando nk . O Ψ de menor F (Ψ) é retido como estimativa inicial. 25 / 40
  • 48. FilterSQP Minimizar F (Ψ) sobre as 4D e restrito a |Ψ| = 1. SQP: Sequential Quadratic Programa não-linear → Programming O FilterSQP (Fletcher and Leyffer [2002]) dispensa funções de penalidade. 26 / 40
  • 49. Derivada No Corisco as derivadas em Ψ são calculadas através de fórmulas fechadas. x y ∂F x ∂ vnk y ∂v (Ψ) = ∑ Knk ρ (un vnk ) un + un nk ∂ Ψa nk ∂ Ψa ∂ Ψa As derivadas das direções rk são triviais: ∂ rx = 2(Ψa , Ψd , −Ψc ) ∂ Ψa ∂ rx = 2(Ψb , Ψc , Ψd ) ∂ Ψb ··· 27 / 40
  • 50. Experimentos Foram realizados 3 experimentos que permitem avaliar o desempenho do Corisco. Cada experimento utilizou um conjunto de imagens, e um método diferente para obter orientações de referência. O erro observado é o deslocamento em graus da “rotação residual” entre cada estimativa e referência. O Corisco foi executado variando-se o tamanho da grade, e o número de iterações do RANSAC. 28 / 40
  • 51. YorkUrbanDB Imagens: 101 imagens de ambientes antrópicos. Modelo: Perspectiva. Referência: Método semi-automático baseado em retas. Comparação: Métodos testados por Denis et al. [2008]. Parâmetros do modelo, orientações de referência e estatísticas de desempenho fornecidos pelos autores. 29 / 40
  • 52. YorkUrbanDB 30 / 40
  • 53. YorkUrbanDB Avaliação de desempenho do Corisco - Erro de Tukey, 10000 iterações do RANSAC Distribuição do erro Duração do processo 1 2 Largura da grade [pixels] 4 8 16 32 64 Total 128 RANSAC 0 2 4 6 8 10 10 100 Erro [graus] Tempo [segundos] 31 / 40
  • 54. YorkUrbanDB Avaliação de desempenho do Corisco - Erro de Tukey, 1000 iterações do RANSAC Distribuição do erro Duração do processo 1 2 Largura da grade [pixels] 4 8 16 32 64 Total 128 RANSAC 0 2 4 6 8 10 1 10 Erro [graus] Tempo [segundos] 31 / 40
  • 55. YorkUrbanDB Avaliação de desempenho do Corisco - Erro de Tukey, 200 iterações do RANSAC Distribuição do erro Duração do processo 1 2 Largura da grade [pixels] 4 8 16 32 64 Total 128 RANSAC 0 2 4 6 8 10 0.1 1 10 Erro [graus] Tempo [segundos] 31 / 40
  • 56. YorkUrbanDB Método Tempo Erro Média σ 1/4 Mediana 3/4 EM Newton 27+? 4, 00◦ 1, 00◦ 1, 15◦ 2, 61◦ 4, 10◦ MAP Quasi-Newton 6+? 4, 00◦ 1, 00◦ 1, 32◦ 2, 39◦ 4, 07◦ EM Quasi-Newton 1+? 9, 00◦ 1, 00◦ 4, 04◦ 6, 21◦ 10, 33◦ Corisco i = 104 g = 1 50, 38 1, 68◦ 3, 21◦ 0, 73 ◦ 1, 27◦ 1, 73◦ Corisco i = 104 g = 4 16, 18 1, 81◦ 3, 24◦ 0, 73◦ 1, 11◦ 1, 90◦ Corisco i = 104 g = 32 6, 54 2, 36◦ 3, 76◦ 0, 88◦ 1, 48◦ 2, 14◦ Corisco i = 103 g = 1 9, 71 2, 12◦ 3, 00◦ 0, 82 ◦ 1, 52◦ 2, 40◦ Corisco i = 103 g = 4 2, 95 2, 27◦ 3, 42◦ 0, 87 ◦ 1, 46◦ 2, 38◦ Corisco i = 103 g = 32 0, 93 2, 89◦ 4, 05◦ 1, 15◦ 1, 86◦ 2, 76◦ Corisco i = 200 g = 1 6, 69 3, 47◦ 4, 53◦ 0, 88◦ 1, 65◦ 4, 49◦ Corisco i = 200 g = 4 1, 84 4, 24◦ 5, 79◦ 1, 12 ◦ 2, 06◦ 5, 18◦ Corisco i = 200 g = 32 0, 45 4, 24◦ 4, 70◦ 1, 50◦ 2, 75◦ 5, 20◦ 32 / 40
  • 57. YorkUrbanDB Método Tempo Erro Média σ 1/4 Mediana 3/4 EM Newton 27+? 4, 00◦ 1, 00◦ 1, 15◦ 2, 61◦ 4, 10◦ MAP Quasi-Newton 6+? 4, 00◦ 1, 00◦ 1, 32◦ 2, 39◦ 4, 07◦ EM Quasi-Newton 1+? 9, 00◦ 1, 00◦ 4, 04◦ 6, 21◦ 10, 33◦ Corisco i = 104 g = 1 50, 38 1, 68◦ 3, 21◦ 0, 73 ◦ 1, 27◦ 1, 73◦ Corisco i = 104 g = 4 16, 18 1, 81◦ 3, 24◦ 0, 73◦ 1, 11◦ 1, 90◦ Corisco i = 104 g = 32 6, 54 2, 36◦ 3, 76◦ 0, 88◦ 1, 48◦ 2, 14◦ Corisco i = 103 g = 1 9, 71 2, 12◦ 3, 00◦ 0, 82 ◦ 1, 52◦ 2, 40◦ Corisco i = 103 g = 4 2, 95 2, 27◦ 3, 42◦ 0, 87 ◦ 1, 46◦ 2, 38◦ Corisco i = 103 g = 32 0, 93 2, 89◦ 4, 05◦ 1, 15◦ 1, 86◦ 2, 76◦ Corisco i = 200 g = 1 6, 69 3, 47◦ 4, 53◦ 0, 88◦ 1, 65◦ 4, 49◦ Corisco i = 200 g = 4 1, 84 4, 24◦ 5, 79◦ 1, 12 ◦ 2, 06◦ 5, 18◦ Corisco i = 200 g = 32 0, 45 4, 24◦ 4, 70◦ 1, 50◦ 2, 75◦ 5, 20◦ 32 / 40
  • 58. YorkUrbanDB Método Tempo Erro Média σ 1/4 Mediana 3/4 EM Newton 27+? 4, 00◦ 1, 00◦ 1, 15◦ 2, 61◦ 4, 10◦ MAP Quasi-Newton 6+? 4, 00◦ 1, 00◦ 1, 32◦ 2, 39◦ 4, 07◦ EM Quasi-Newton 1+? 9, 00◦ 1, 00◦ 4, 04◦ 6, 21◦ 10, 33◦ Corisco i = 104 g = 1 50, 38 1, 68◦ 3, 21◦ 0, 73 ◦ 1, 27◦ 1, 73◦ Corisco i = 104 g = 4 16, 18 1, 81◦ 3, 24◦ 0, 73◦ 1, 11◦ 1, 90◦ Corisco i = 104 g = 32 6, 54 2, 36◦ 3, 76◦ 0, 88◦ 1, 48◦ 2, 14◦ Corisco i = 103 g = 1 9, 71 2, 12◦ 3, 00◦ 0, 82 ◦ 1, 52◦ 2, 40◦ Corisco i = 103 g = 4 2, 95 2, 27◦ 3, 42◦ 0, 87 ◦ 1, 46◦ 2, 38◦ Corisco i = 103 g = 32 0, 93 2, 89◦ 4, 05◦ 1, 15◦ 1, 86◦ 2, 76◦ Corisco i = 200 g = 1 6, 69 3, 47◦ 4, 53◦ 0, 88◦ 1, 65◦ 4, 49◦ Corisco i = 200 g = 4 1, 84 4, 24◦ 5, 79◦ 1, 12 ◦ 2, 06◦ 5, 18◦ Corisco i = 200 g = 32 0, 45 4, 24◦ 4, 70◦ 1, 50◦ 2, 75◦ 5, 20◦ 32 / 40
  • 59. YorkUrbanDB Método Tempo Erro Média σ 1/4 Mediana 3/4 EM Newton 27+? 4, 00◦ 1, 00◦ 1, 15◦ 2, 61◦ 4, 10◦ MAP Quasi-Newton 6+? 4, 00◦ 1, 00◦ 1, 32◦ 2, 39◦ 4, 07◦ EM Quasi-Newton 1+? 9, 00◦ 1, 00◦ 4, 04◦ 6, 21◦ 10, 33◦ Corisco i = 104 g = 1 50, 38 1, 68◦ 3, 21◦ 0, 73 ◦ 1, 27◦ 1, 73◦ Corisco i = 104 g = 4 16, 18 1, 81◦ 3, 24◦ 0, 73◦ 1, 11◦ 1, 90◦ Corisco i = 104 g = 32 6, 54 2, 36◦ 3, 76◦ 0, 88◦ 1, 48◦ 2, 14◦ Corisco i = 103 g = 1 9, 71 2, 12◦ 3, 00◦ 0, 82 ◦ 1, 52◦ 2, 40◦ Corisco i = 103 g = 4 2, 95 2, 27◦ 3, 42◦ 0, 87 ◦ 1, 46◦ 2, 38◦ Corisco i = 103 g = 32 0, 93 2, 89◦ 4, 05◦ 1, 15◦ 1, 86◦ 2, 76◦ Corisco i = 200 g = 1 6, 69 3, 47◦ 4, 53◦ 0, 88◦ 1, 65◦ 4, 49◦ Corisco i = 200 g = 4 1, 84 4, 24◦ 5, 79◦ 1, 12 ◦ 2, 06◦ 5, 18◦ Corisco i = 200 g = 32 0, 45 4, 24◦ 4, 70◦ 1, 50◦ 2, 75◦ 5, 20◦ 32 / 40
  • 60. ApaSt Imagens: 24+24 imagens de edifícios. Modelo: Perspectiva com distorção radial (Harris). Referência: Bundler. 33 / 40
  • 61. ApaSt O Bundler (Snavely et al. [2006]) foi utilizado para obter as orientações de referência e os parâmetros intrínsecos. Método multi-ocular baseado em pontos. 34 / 40
  • 62. ApaSt Avaliação de desempenho do Corisco - Base ApaSt, 10000 iterações do RANSAC Distribuição do erro Duração do processo 1 2 Largura da grade [pixels] 4 8 16 32 64 Total 128 RANSAC 0 2 4 6 8 10 10 100 Erro [graus] Tempo [segundos] 35 / 40
  • 63. ApaSt Avaliação de desempenho do Corisco - Base ApaSt, 1000 iterações do RANSAC Distribuição do erro Duração do processo 1 2 Largura da grade [pixels] 4 8 16 32 64 Total 128 RANSAC 0 2 4 6 8 10 1 10 Erro [graus] Tempo [segundos] 35 / 40
  • 64. StreetView Imagens: 250 imagens de um ambiente urbano. Modelo: Projeção equiretangular. Referência: Sensores físicos (IMU). 36 / 40
  • 65. StreetView Erro 1◦ , tempo 17s. Parâmetros estimados e referência ajustada 1.0000 0.03 0.9995 0.02 0.9990 0.01 0.9985 0.00 0.9980 0.01 0.9975 0.02 0.99700 0.03 50 100 150 200 250 0 50 100 150 200 250 0.03 0.03 0.02 0.02 0.01 0.01 0.00 0.00 0.01 0.01 0.02 0.02 0.03 0.03 0 50 100 150 200 250 0 50 100 150 200 250 Estimativa Referência 37 / 40
  • 66. Conclusão O Corisco constitui um método com grande potencial para aplicação imediata. Implementação relativamente simples. Grande robustez (distorções, RANSAC). Bom desempenho. Demonstrou-se as vantagens do uso da máscara em forma de grade, e da M-estimação. Também foi demonstrado como utilizar o FilterSQP para trabalhar naturalmente com quaternions. 38 / 40
  • 67. Trabalhos futuros Controle automático dos parâmetros. Reconstrução multi-ocular e monocular. Utilizar filtros direcionais para medir o erro angular. Utilizar a máscara de grade em outros problemas. Estimar orientação e calibração, e extrair curvas em um processo unificado. (MRF?) 39 / 40
  • 68. Fim Obrigado! Financiamento Obrigado à Capes, CNPq e USP pelo suporte financeiro. 40 / 40
  • 69. Publicações Speeding up probabilistic inference of camera orientation by function approximation and grid masking, Werneck and Costa [2011] Mapping with monocular vision in two dimensions, Werneck and Costa [2010] Medição de distância e altura de bordas horizontais com visão monocular linear para robôs móveis, Werneck et al. [2009] 1/5
  • 70. Referências Bibliográficas B. Caprile and V. Torre. Using vanishing points for camera calibration. International Journal of Computer Vision, 4(2):127–139, March 1990. ISSN 0920-5691. doi: 10.1007/BF00127813. URL http://www.springerlink.com/content/k75077108473tm15/. R Cipolla, T Drummond, and D Robertson. Camera calibration from vanishing points in images of architectural scenes. In Proc. of the British Machine Vision Conference, volume 2, pages 382–391, 1999. James M. Coughlan and A. L. Yuille. Manhattan world: orientation and outlier detection by Bayesian inference. Neural Computation, 15(5): 1063—-1088, March 2003. URL http://www.mitpressjournals.org/ doi/abs/10.1162/089976603765202668. Patrick Denis, James H Elder, and Francisco J Estrada. Efficient edge-based methods for estimating Manhattan frames in urban imagery. In Proceedings of the 10th European Conference on Computer Vision, pages 197–210. Springer-Verlag, 2008. doi: 10.1007/978-3-540-88688-4_15. Roger Fletcher and Sven Leyffer. Nonlinear programming without a penalty function. Mathematical Programming, 91(2):239–269, January 2002. ISSN 0025-5610. doi: 10.1007/s101070100244. URL http://www.springerlink.com/content/qqj37x00y79ygdl8/. 2/5
  • 71. Carsten Rother. A new approach to vanishing point detection in architectural environments. Image and Vision Computing, 20(9-10): 647–655, 2002. doi: 10.1016/S0262-8856(02)00054-9. URL http://dx.doi.org/10.1016/S0262-8856(02)00054-9. G. Schindler and F. Dellaert. Atlanta world: an expectation maximization framework for simultaneous low-level edge grouping and camera calibration in complex man-made environments. In Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2004. CVPR 2004., pages 203–209. IEEE, 2004. ISBN 0-7695-2158-4. doi: 10.1109/CVPR.2004.1315033. URL http: //ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1315033. Noah Snavely, Steven M. Seitz, and Richard Szeliski. Photo tourism: exploring photo collections in 3D. In ACM Transactions on Graphics (Proceedings of SIGGRAPH 2006), pages 835–846, 2006. URL http://dl.acm.org/citation.cfm?id=1141964. Nicolau Leal Werneck and Anna Helena Reali Costa. Mapping with monocular vision in two dimensions. International Journal of Natural Computing Research, 1(4), 2010. 3/5
  • 72. Nicolau Leal Werneck and Anna Helena Reali Costa. Speeding up probabilistic inference of camera orientation by function approximation and grid masking. In Gladimir Baranoski and Vaclav Skala, editors, WSCG 2011 Communication Papers, pages 127–134, Plzen, Czech Republic, 2011. UNION Agency. URL http://nwerneck.sdf.org/almoxarifado/nic-wscg2011.pdf. Nicolau Leal Werneck, Flávio Sales Truzzi, and Anna Helena Reali Costa. Medição de distância e altura de bordas horizontais com visão monocular linear para robôs móveis. In Anais do V Workshop de Visão Computacional, São Paulo, 2009. URL http://www.lti.pcs.usp.br/ ~nwerneck/almoxarifado/59760_WerneckTruzziCosta.pdf. 4/5
  • 73. Teste de calibração Estimação da distância focal com a mesma F (Ψ). Calibração baseada no Corisco - Função objetivo variando com a distância focal 2000 N8 - todas imagens 2000 a230 - todas imagens Função objetivo (transladada) Função objetivo (transladada) 1500 1500 1000 1000 500 500 0 0 600 700 800 900 1000 1100 1200 600 700 800 900 1000 1100 1200 Distância focal Distância focal 160 N8 - imagens individuais 160 a230 - imagens individuais 140 140 Função objetivo (transladada) Função objetivo (transladada) 120 120 100 100 80 80 60 60 40 40 20 20 0 0 600 700 800 900 1000 1100 1200 600 700 800 900 1000 1100 1200 Distância focal Distância focal Referência (Bundler) Estimado (Corisco) 5/5