SlideShare uma empresa Scribd logo
Skydio
Gareth Cruz
Setembro, 2020
© 2020 Nome da sua empresa
Localização e Mapeamento (SLAM)
Introdução ao simultâneo
Machine Translated by Google
Simultâneo: Devemos realizar essas tarefas ao mesmo tempo, pois ambas as quantidades são inicialmente
desconhecidas.
Recuperar a localização de pontos de
referência em algum referencial comum .
Recuperar o estado de um veículo ou
plataforma de sensores, geralmente ao
longo de vários intervalos de tempo.
Localização e Mapeamento
Simultâneo
O que é SLAM?
© 2020Skydio 2
Machine Translated by Google
Império via Wikipedia
Fonte da imagem: Uma história da geografia antiga entre os gregos e romanos desde os primeiros tempos até a queda do romano
Uma prática milenar
© 2020Skydio 3
Machine Translated by Google
4
© 2020Skydio
Fonte da imagem: COLMAP / Schönberger, Johannes Lutz e Frahm, Jan-Michael, “Estrutura do movimento revisitada”, CVPR 2016
Machine Translated by Google
Odometria Visual Inercial (VIO) no
drone Skydio, um sistema embarcado.
SLAM no Skydio
5
© 2020Skydio
Machine Translated by Google
Fonte do vídeo: Skydio
Fonte da imagem: E. Kaplan, C. Hergarty,
Understanding GPS Principles and Applications, 2005
SLAM vs. Localização
6
© 2020Skydio
Machine Translated by Google
Câmeras Unidade de Medição Inercial RGB-D/Luz Estruturada
LiDAR/Telêmetros
7
© 2020Skydio
1) Um ou mais sensores:
Fonte: Occipital
Fonte: Velodyne
Para cada problema de SLAM, temos dois ingredientes principais:
Fonte: MatrixVision
Formulando um problema SLAM
Fonte: Lord MicroStrain
Machine Translated by Google
Parâmetros de calibração
Estrutura Mundial (Mapa)
Movimento do ego: rotação,
posição, velocidade
2) Um conjunto de estados que desejamos recuperar.
Formulando um problema SLAM
Fonte da imagem: DroneTest
© 2020Skydio 8
Machine Translated by Google
Parâmetros de calibração
Barulho
Movimento do ego
• Considere o modelo de medição do sensor:
Saída do sensor Mapa
• A escolha do sensor levará a muitas considerações de projeto posteriores.
Seleção de sensores
9
© 2020Skydio
Machine Translated by Google
Sistema SLAM
10
© 2020Skydio
Faça muitas medições (possivelmente de muitos sensores) e recupere os parâmetros de
movimento do ego, mapa e calibração.
Meta de alto nível
Machine Translated by Google
A distorção intrínseca da temperatura também pode introduzir
erros inesperados nas estimativas de visão.
A rotação extrínseca não modelada entre a IMU e a câmera
pode causar aumento de desvio em um pipeline SLAM visual.
A inflação do pneu afetará a escala da odometria da
roda, assim como poderá ocorrer deslizamento entre o pneu e
a superfície da estrada.
Fonte da imagem: Microondas MWee RF
Fonte da imagem: Skydio
Fonte da imagem: MotorTrend.com
Exemplo - Calibração
© 2020Skydio 11
Machine Translated by Google
Ao selecionar um sensor de câmera para sua plataforma, você tem a opção de obturador global
ou de rolamento .
Crédito da imagem: LucidVision
Exemplo - persiana
© 2020Skydio 12
Machine Translated by Google
Localização medida na
imagem.
Pose da câmera no tempo
t0
Projeção de câmera
Ponto no mundo.
A veneziana deforma objetos rígidos como a linha do
horizonte e o próprio veículo.
A inclusão de derivadas de ordem superior no modelo de mensuração aumenta
o custo computacional.
Transformação de pontos
mundiais em moldura
de sensor.
13
© 2020Skydio
Modelo de persiana:
Modelo de obturador global:
Exemplo - persiana
Machine Translated by Google
Exemplo: não inclusão de parâmetro de calibração.
Um erro aleatório que só pode ser
modelado por meios estatísticos.
Erros resultantes de uma limitação em nosso
modelo de sensor.
• Todos os sensores apresentam uma quantidade mínima de ruído.
Exemplo: ruído elétrico térmico.
14
© 2020Skydio
• Distinguimos entre ruído e erro de modelo.
E quanto ao ruído?
Machine Translated by Google
• Nunca poderemos recuperar os “verdadeiros” estados, apenas estimativas incertas deles.
• Devido ao ruído nas entradas do sensor, o SLAM é um processo inerentemente incerto.
… Mas também significa aumento do custo computacional.
• Mais medições geralmente significam menor incerteza…
Incerteza
15
© 2020Skydio
•
Machine Translated by Google
Fonte da imagem: Skydio
Fonte da imagem: B. Bellekens et al., Uma
pesquisa de referência de algoritmos rígidos de
registro de nuvem de pontos 3D, 2015
16
© 2020Skydio
Varreduras
LiDAR 2D?
Imagens de alcance 3D?
Coleção de
fotografias?
A escolha do sensor também pode influenciar a parametrização do mapa.
Fonte da imagem: Noah Snavely
O mapa
Machine Translated by Google
Custo computacional
Onde gostaríamos de estar (impossível).
17
© 2020Skydio
Erro de solução
Custo do sensor
Compensações de design
Machine Translated by Google
18
© 2020Skydio
Gráficos Fatoriais são um método conveniente de representar graficamente um problema SLAM.
Gráficos Fatoriais
Os nós representam estados.
Em um problema SLAM,
normalmente teremos nós para nosso
movimento do ego, mapa e
parâmetros de calibração.
Arestas (fatores) representam
informações sobre os estados, na forma
de medidas ou anteriores.
Os fatores podem ser
unários, binários, ternários, etc…
Machine Translated by Google
Há um mapeamento do gráfico de fator para as medições do nosso sensor:
Gráficos Fatoriais
19
© 2020Skydio
Machine Translated by Google
recupere pontos de referência 3D e poses de
associações de recursos 2D.
• Uma forma de Estrutura a partir do Movimento (SFM).
• Usando marginalização o custo de computação pode
ser limitado.
• Altamente escalável e pode ser bastante
• Aproveite a geometria projetiva para
preciso.
Exemplo Real: Ajuste de Pacote (BA)
Fonte da imagem: Theia SFM
Para mais detalhes sobre SFM, veja o livro de Richard Szeliski como ponto de partida.
© 2020Skydio 20
Machine Translated by Google
Localização e Mapeamento
Simultâneo
quadro.
vários passos de tempo.
Recuperar localização de pontos de
referência Triangular pontos
do mapa em alguma referência
comum usando poses de câmera.
Recuperar pose da câmera
Recuperar o estado de um veículo
ou em relação à plataforma
do sensor do mapa, geralmente sobre
pontos.
O Bundle Adjustment é uma forma de otimização que realiza essas etapas em conjunto.
Estrutura do Movimento (SFM)
21
© 2020Skydio
Machine Translated by Google
t
Quadros
recebidos
Os quadros-chave armazenam nossas estimativas
do movimento do ego.
(Otimização)
Mapa
Calcular pose da câmera
Associações de recursos
de computação
Quadros-chave
2
Rejeição de valores discrepantes
3 Ajuste
Pacote
4
1
t-1
t-2
Pipeline SLAM típico com BA
22
© 2020Skydio
Machine Translated by Google
Correspondência de descritor Acompanhamento/fluxo de recursos
Exemplos: Fluxo Óptico, Lucas Kanade Rastreamento, FlowNet
Exemplos: SIFT, KAZE, ESFERA, Superponto
Fonte da imagem: Georgia Tech
Como obtemos associações de recursos?
23
© 2020Skydio
Machine Translated by Google
ESFERA
Custo Computacional
Lucas-
ELE DIZ
Canadá
Peneirar
Um princípio de “regra prática” a ser considerado na seleção de recursos (eixos não em escala):
Compensações de design
Robustez
Deep Networks são um tanto difíceis de instalar, pois
oferecem uma compensação ajustável entre custo e robustez.
24
© 2020Skydio
Machine Translated by Google
Outliers na associação de recursos
© 2020Skydio 25
Machine Translated by Google
• Vamos revisar um problema (muito simples) de um brinquedo:
• Como lidamos com eles?
26
© 2020Skydio
Medição
• Outliers: Dados que não estão de acordo com nosso modelo de sensor.
Estado: alfa e beta
Valores discrepantes
Machine Translated by Google
27
© 2020Skydio
Problema de brinquedo
Machine Translated by Google
28
© 2020Skydio
Problema de brinquedo
Machine Translated by Google
© 2020Skydio 29
RANSAC (Consenso de Amostras Aleatórias)
Machine Translated by Google
© 2020Skydio 30
RANSAC
Machine Translated by Google
31
© 2020Skydio
RANSAC
Machine Translated by Google
32
© 2020Skydio
RANSAC
Machine Translated by Google
© 2020Skydio 33
RANSAC
Machine Translated by Google
34
© 2020Skydio
RANSAC
Machine Translated by Google
35
© 2020Skydio
RANSAC
Machine Translated by Google
?
RANSAC
36
© 2020Skydio
Machine Translated by Google
• Pode exigir muitas iterações para frações com valores discrepantes ou modelos com um K grande.
• Muito simples de implementar: desenhe K exemplos, resolva, conte, repita.
… mas ainda é bastante útil na prática.
© 2020Skydio 37
• Paralelizado trivialmente. Tem mais tempo de CPU? Experimente mais.
• Contras:
• Adapte facilmente um método existente.
• Prós:
• Garantias relativamente fracas.
• Os hiperparâmetros precisam de ajuste.
RANSAC
Machine Translated by Google
# Iterações vs. Fração Outlier
38
© 2020Skydio
450
50%
600
40% 70%
2 pontos
300
0
60%
150
80%
4 pontos
10%
3 pontos
0%
750
30%
20%
RANSAC
Machine Translated by Google
t-1
t-2
Associações de recursos
de computação
Quadros-chave
2
1
Rejeição de valores discrepantes
3 Ajuste
Pacote
4
(Otimização)
Mapa
Calcular pose da câmera
Pipeline SLAM típico com BA
t
Quadros
recebidos
39
© 2020Skydio
Machine Translated by Google
t-1
t-2
Rejeição de valores discrepantes
3
Quadros-
chave • Matriz Essencial
4
1
Algoritmos típicos: • PnP
2 Ajuste
Pacote
• Homografia
Associações de recursos
de computação
(Otimização)
Mapa
Calcular pose da câmera
Pipeline SLAM típico com BA
t
Quadros
recebidos
40
© 2020Skydio
Machine Translated by Google
Marcos
Pacote de raios
Calibrações de câmera
Posição, orientação
BA como um gráfico fatorial
41
© 2020Skydio
Machine Translated by Google
As trilhas de recursos
formam uma medição de 'sensor'.
Poses de câmera, posições de
referência, parâmetros de
calibração.
O modelo de medição é dado pela geometria
projetiva do problema.
42
© 2020Skydio
• Como recuperamos realmente os estados, dadas as medições e o nosso modelo?
BA como um problema SLAM
?
Precisamos preencher esta caixa.
Machine Translated by Google
• No entanto, este método é amplamente aplicável, normalmente rápido e fácil de implementar
• Para uma revisão muito mais abrangente, recomendo fortemente: Estimativa de estado para
todos eles no tempo previsto.
• Podemos usar uma técnica chamada Mínimos Quadrados Não Lineares para fazer isso.
Robótica, Tim Barfoot, 2015 (online grátis)
implementar.
• Existem muitas maneiras de formular problemas de SLAM em geral, e não podemos revisar
Resolvendo o problema
43
© 2020Skydio
Machine Translated by Google
• Antes disso, faremos uma suposição adicional - que o ruído de medição é
• Converteremos nossos modelos de medição em um sistema de equações.
44
© 2020Skydio
• Também assumiremos que temos uma estimativa inicial para os nossos estados. Em um sistema recursivo
no tempo, isso poderia vir do quadro anterior.
extraído de uma gaussiana de média zero.
Suposições
Machine Translated by Google
A i-ésima pose da câmera, observando o j'ésimo ponto de referência.
Pegamos o Mahalanobis quadrado norma, ponderada
pela nossa incerteza de medição assumida.
E concatene-os em um vetor grande:
Reescrevemos nossas medidas como funções residuais:
Mínimos Quadrados Não Lineares
45
© 2020Skydio
Machine Translated by Google
acabamos linearizando o problema e tomando uma série de passos.
Jacobiano J é a linearização de f em relação à
nossa estimativa inicial.
Nossa 'melhor estimativa' ocorrerá quando a função objetivo for minimizada:
Como f geralmente será não linear para a maioria dos problemas de SLAM,
Mínimos Quadrados Não Lineares
46
© 2020Skydio
Machine Translated by Google
Cada resíduo é ponderado pela sua incerteza inversa.
Aproximação de primeira ordem do Hessiano. A inversão
tem complexidade O(|y|3 )
Veja Barfoot, Capítulos 3 e 4.
*
A solução em cada iteração:
Mínimos Quadrados Não Lineares
Quando linearizado em torno da solução convergente, o Hessiano invertido funciona como uma
aproximação de primeira ordem da covariância marginal da nossa estimativa:
*
47
© 2020Skydio
Machine Translated by Google
Fator
Binário
Esparsidade
48
© 2020Skydio
Machine Translated by Google
• Um grande número de problemas pode ser formulado desta forma (dada uma estimativa inicial).
• No entanto, em alguns problemas (como BA) há escassez que podemos aproveitar para melhorar
• Pode ser executado em um espaço de memória fixo ÿ adequado para casos de uso incorporados.
49
© 2020Skydio
• Geralmente, o custo de resolução de atualizações é cúbico no número de estados:
da incerteza em nossa solução.
• Reduz a aplicação iterada de mínimos quadrados ponderados.
• Na forma linearizada , o problema é “fácil” de resolver.
• Com os pesos ÿ apropriados, podemos mostrar que o NLS produz uma estimativa aproximada
esse.
Mínimos Quadrados Não Lineares
Machine Translated by Google
usado no otimizador direcionará nossa solução na direção errada.
apontar.
• Além disso, a estimativa de covariância obtida é tão boa quanto a linearização
• Também assumimos ruído gaussiano nas medições.
• Precisávamos de uma estimativa inicial para linearizar o sistema. Se a estimativa for ruim, o gradiente
• Lembre-se de nossas suposições:
• Os valores discrepantes devem ser removidos ou eles dominarão a otimização.
Advertências
50
© 2020Skydio
Machine Translated by Google
• Para uma variável gaussiana u e uma função vetorial não linear g, podemos aproximar:
Como linearizamos, a fidelidade do nosso ÿ de primeira
ordem depende desta aproximação.
• Vale a pena considerar o efeito da linearização na nossa estimativa de incerteza.
Linearização
© 2020Skydio 51
Veja Barfoot, Capítulo 2.
Machine Translated by Google
• Inclui soluções para SLAM e BA.
• Solucionador Ceres, produzido pelo Google
• Permite especificação do problema em formato de gráfico fatorial, construído para SLAM.
• Algumas ferramentas relevantes:
• Otimizador geral não linear de mínimos quadrados.
• Píton
52
© 2020Skydio
• G2O
• GTSAM, pacote de código aberto criado por Frank Dellaert e outros.
• scipy.optimize.mínimos_quadrados
Ferramentas
Machine Translated by Google
• Uma associação robusta pode exigir descritores caros.
• Taxa de atualização limitada à taxa de quadros da câmera (lenta).
• Grande: Dezenas de milhares de imagens em escala urbana.
• Bastante simples de implementar.
• Pequeno: Algumas molduras de imagem num telemóvel.
• A BA pode operar em pequena e grande escala.
• Após a associação de características, devemos dedicar a computação não trivial à rejeição de valores discrepantes.
• Mas:
BA em sistemas em tempo real
53
© 2020Skydio
Machine Translated by Google
© 2020Skydio
Fonte: Lord MicroStrain
Câmeras
54
Marcos
Pacote de raios
Parâmetros de calibração de polarizações/IMU
Posição, orientação, velocidade
IMU, modelo de movimento
Calibrações de câmera
Unidade de Medição Inercial
Fonte: MatrixVision
VIO como gráfico fatorial: BA + IMU
Machine Translated by Google
• NARIZ:
• Alta taxa de atualização, baixo custo computacional, poucos valores discrepantes (talvez saturação).
• Preciso em intervalos curtos, mas varia com o tempo.
• Capaz de recuperar a atitude em relação ao referencial global (gravidade).
• Câmera:
• Capaz de relocalizar com precisão em grandes distâncias.
• Câmera e IMU são altamente complementares:
• Uma das adaptações mais bem-sucedidas da pesquisa de visão ao mercado.
55
© 2020Skydio
• Baixa taxa de atualização, alto custo computacional, sujeito a dados discrepantes.
• Presente em smartphones, headsets AR/VR, drones, veículos autônomos.
SERRA
Machine Translated by Google
t-2
t-1
Rejeição de valores discrepantes
Quadros-chave
Ajuste
Pacote
A IMU pode agregar um valor substancial aqui.
Associações de recursos
de computação
(Otimização)
Mapa
Calcular pose da câmera
SERRA
t
Quadros
recebidos
56
© 2020Skydio
Machine Translated by Google
• PTAM Uma das primeiras demonstrações funcionais de SLAM visual
• ROVIO VIO, exemplo de método direto
• Basalto SERRA
• CMVS Estéreo multivisualização
57
© 2020Skydio
• ORB-SLAM2 SLAM em tempo real com otimização BA
• COLMAP SFM off-line e estéreo multivisualização (MVS)
• Implementações de código aberto existentes (não exaustivas):
• VINS-Mono VIO, roda em um dispositivo móvel
• OpenMVG
Implementações BA/VIO
Machine Translated by Google
• Gráficos de Fatores para Percepção de Robôs (Dellaert e Kaess, 2017)
• Leitura Adicional:
• Robótica Probabilística, (Thrun, Burgard e Fox, 2005)
© 2020Skydio 58
• GTSAM Biblioteca de software
• Odometria Visual, (Scaramuzza e Fraundorfer, 2011)
Questões? Sinta-se à vontade para entrar em contato: gareth@skydio.com
• Estimativa de Estado para Robótica (Barpé, 2015)
FIM
Machine Translated by Google

Mais conteúdo relacionado

PPTX
O debate clássico sobre a questão agrária
PPTX
I-1900_-_Gabriel_Augusto_Miranda_De_Freitas_-_14h30.pptx
PDF
Aula sobre vslam-principais-slides-1 (1).pdf
PPT
Aula_03_- Sobre Introducao_a_Automacao.ppt
PPT
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
PDF
Curso-Programação-Básica-em-Arduino-Aula-7.pdf
PPTX
aula02desenhomolivresketches-170301165154.pptx
PDF
Aula-1 - sobre Desenho-Tecnico - ECA.pdf
O debate clássico sobre a questão agrária
I-1900_-_Gabriel_Augusto_Miranda_De_Freitas_-_14h30.pptx
Aula sobre vslam-principais-slides-1 (1).pdf
Aula_03_- Sobre Introducao_a_Automacao.ppt
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
Curso-Programação-Básica-em-Arduino-Aula-7.pdf
aula02desenhomolivresketches-170301165154.pptx
Aula-1 - sobre Desenho-Tecnico - ECA.pdf

Mais de EliakimArajo2 (10)

PPT
Apresentação de introducao ao sensoriamento remoto
PDF
Orientações para utilizar Drone no espaço Brasil
PDF
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
PDF
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
PPTX
aula13_mecanismo_irrigador_automatico_m2_slides.pptx
PPTX
aula12_sensor_umidade_solo_m2_slides.pptx
PDF
Dispositivos_Diodos_e_Transistores_BJT.pdf
PPTX
Aula 2 - Energia e Potencia curso de Inf.pptx
PDF
Uso de sensores em agricultura irrigada .pdf
PPTX
Irrigação sustentável.pptx
Apresentação de introducao ao sensoriamento remoto
Orientações para utilizar Drone no espaço Brasil
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
aula13_mecanismo_irrigador_automatico_m2_slides.pptx
aula12_sensor_umidade_solo_m2_slides.pptx
Dispositivos_Diodos_e_Transistores_BJT.pdf
Aula 2 - Energia e Potencia curso de Inf.pptx
Uso de sensores em agricultura irrigada .pdf
Irrigação sustentável.pptx
Anúncio

Último (20)

PPT
Acidentes de trabalho e esposição riscovdfv
PDF
Aula 2 Normas Regulamentadoras (PARTE I).pdf
PPT
Aula_2_Atomo distribuiçao eletronica.ppt
PPTX
Princípios Básicos de segurança em eletricidade
PPTX
2 - introducao a ciencia do solo para o curso de agronomia.ppt
PPTX
erro balela so para baixar naã perca tempo.pptx
PPT
1 - Introdução a disciplina ciencia o solo.ppt
PDF
Manutenção de motores de indução trifésicos.pdf
PPTX
Integração SMS introdutorio 111111111111
PDF
Motor de indução introdução e manutenção.pdf
PPTX
'Conservação de massa equação da continuidade.pptx
PDF
Material referente ao método kanban f2ms
PPTX
Aula 03 - Fisica teorica e experimental.pptx
PDF
ANTENA DIPOLO DOBRADO NOTA AULA 164 PROFESSOR ANGELO ANTONIO LEITHOLD.pdf
PDF
1 - Aula Pneumática Elementos da Pneumática.pdf
PPTX
11 Métodos de prevenção individual e coletiva.pptx
PPTX
Trabalho sobre Distancia de Visibilidade do Curso de Engenharia
PPTX
Aula_Osciloscópio_Exercícios_Simulações_
PPT
Diagrama de fases de los aceros como material
PDF
eletronica-basica_capitulo_01_2017_1s.pdf
Acidentes de trabalho e esposição riscovdfv
Aula 2 Normas Regulamentadoras (PARTE I).pdf
Aula_2_Atomo distribuiçao eletronica.ppt
Princípios Básicos de segurança em eletricidade
2 - introducao a ciencia do solo para o curso de agronomia.ppt
erro balela so para baixar naã perca tempo.pptx
1 - Introdução a disciplina ciencia o solo.ppt
Manutenção de motores de indução trifésicos.pdf
Integração SMS introdutorio 111111111111
Motor de indução introdução e manutenção.pdf
'Conservação de massa equação da continuidade.pptx
Material referente ao método kanban f2ms
Aula 03 - Fisica teorica e experimental.pptx
ANTENA DIPOLO DOBRADO NOTA AULA 164 PROFESSOR ANGELO ANTONIO LEITHOLD.pdf
1 - Aula Pneumática Elementos da Pneumática.pdf
11 Métodos de prevenção individual e coletiva.pptx
Trabalho sobre Distancia de Visibilidade do Curso de Engenharia
Aula_Osciloscópio_Exercícios_Simulações_
Diagrama de fases de los aceros como material
eletronica-basica_capitulo_01_2017_1s.pdf
Anúncio

Cross_Skydio_2020_Embedded_Vision_Summit_Slides_Final (1).pdf

  • 1. Skydio Gareth Cruz Setembro, 2020 © 2020 Nome da sua empresa Localização e Mapeamento (SLAM) Introdução ao simultâneo Machine Translated by Google
  • 2. Simultâneo: Devemos realizar essas tarefas ao mesmo tempo, pois ambas as quantidades são inicialmente desconhecidas. Recuperar a localização de pontos de referência em algum referencial comum . Recuperar o estado de um veículo ou plataforma de sensores, geralmente ao longo de vários intervalos de tempo. Localização e Mapeamento Simultâneo O que é SLAM? © 2020Skydio 2 Machine Translated by Google
  • 3. Império via Wikipedia Fonte da imagem: Uma história da geografia antiga entre os gregos e romanos desde os primeiros tempos até a queda do romano Uma prática milenar © 2020Skydio 3 Machine Translated by Google
  • 4. 4 © 2020Skydio Fonte da imagem: COLMAP / Schönberger, Johannes Lutz e Frahm, Jan-Michael, “Estrutura do movimento revisitada”, CVPR 2016 Machine Translated by Google
  • 5. Odometria Visual Inercial (VIO) no drone Skydio, um sistema embarcado. SLAM no Skydio 5 © 2020Skydio Machine Translated by Google
  • 6. Fonte do vídeo: Skydio Fonte da imagem: E. Kaplan, C. Hergarty, Understanding GPS Principles and Applications, 2005 SLAM vs. Localização 6 © 2020Skydio Machine Translated by Google
  • 7. Câmeras Unidade de Medição Inercial RGB-D/Luz Estruturada LiDAR/Telêmetros 7 © 2020Skydio 1) Um ou mais sensores: Fonte: Occipital Fonte: Velodyne Para cada problema de SLAM, temos dois ingredientes principais: Fonte: MatrixVision Formulando um problema SLAM Fonte: Lord MicroStrain Machine Translated by Google
  • 8. Parâmetros de calibração Estrutura Mundial (Mapa) Movimento do ego: rotação, posição, velocidade 2) Um conjunto de estados que desejamos recuperar. Formulando um problema SLAM Fonte da imagem: DroneTest © 2020Skydio 8 Machine Translated by Google
  • 9. Parâmetros de calibração Barulho Movimento do ego • Considere o modelo de medição do sensor: Saída do sensor Mapa • A escolha do sensor levará a muitas considerações de projeto posteriores. Seleção de sensores 9 © 2020Skydio Machine Translated by Google
  • 10. Sistema SLAM 10 © 2020Skydio Faça muitas medições (possivelmente de muitos sensores) e recupere os parâmetros de movimento do ego, mapa e calibração. Meta de alto nível Machine Translated by Google
  • 11. A distorção intrínseca da temperatura também pode introduzir erros inesperados nas estimativas de visão. A rotação extrínseca não modelada entre a IMU e a câmera pode causar aumento de desvio em um pipeline SLAM visual. A inflação do pneu afetará a escala da odometria da roda, assim como poderá ocorrer deslizamento entre o pneu e a superfície da estrada. Fonte da imagem: Microondas MWee RF Fonte da imagem: Skydio Fonte da imagem: MotorTrend.com Exemplo - Calibração © 2020Skydio 11 Machine Translated by Google
  • 12. Ao selecionar um sensor de câmera para sua plataforma, você tem a opção de obturador global ou de rolamento . Crédito da imagem: LucidVision Exemplo - persiana © 2020Skydio 12 Machine Translated by Google
  • 13. Localização medida na imagem. Pose da câmera no tempo t0 Projeção de câmera Ponto no mundo. A veneziana deforma objetos rígidos como a linha do horizonte e o próprio veículo. A inclusão de derivadas de ordem superior no modelo de mensuração aumenta o custo computacional. Transformação de pontos mundiais em moldura de sensor. 13 © 2020Skydio Modelo de persiana: Modelo de obturador global: Exemplo - persiana Machine Translated by Google
  • 14. Exemplo: não inclusão de parâmetro de calibração. Um erro aleatório que só pode ser modelado por meios estatísticos. Erros resultantes de uma limitação em nosso modelo de sensor. • Todos os sensores apresentam uma quantidade mínima de ruído. Exemplo: ruído elétrico térmico. 14 © 2020Skydio • Distinguimos entre ruído e erro de modelo. E quanto ao ruído? Machine Translated by Google
  • 15. • Nunca poderemos recuperar os “verdadeiros” estados, apenas estimativas incertas deles. • Devido ao ruído nas entradas do sensor, o SLAM é um processo inerentemente incerto. … Mas também significa aumento do custo computacional. • Mais medições geralmente significam menor incerteza… Incerteza 15 © 2020Skydio • Machine Translated by Google
  • 16. Fonte da imagem: Skydio Fonte da imagem: B. Bellekens et al., Uma pesquisa de referência de algoritmos rígidos de registro de nuvem de pontos 3D, 2015 16 © 2020Skydio Varreduras LiDAR 2D? Imagens de alcance 3D? Coleção de fotografias? A escolha do sensor também pode influenciar a parametrização do mapa. Fonte da imagem: Noah Snavely O mapa Machine Translated by Google
  • 17. Custo computacional Onde gostaríamos de estar (impossível). 17 © 2020Skydio Erro de solução Custo do sensor Compensações de design Machine Translated by Google
  • 18. 18 © 2020Skydio Gráficos Fatoriais são um método conveniente de representar graficamente um problema SLAM. Gráficos Fatoriais Os nós representam estados. Em um problema SLAM, normalmente teremos nós para nosso movimento do ego, mapa e parâmetros de calibração. Arestas (fatores) representam informações sobre os estados, na forma de medidas ou anteriores. Os fatores podem ser unários, binários, ternários, etc… Machine Translated by Google
  • 19. Há um mapeamento do gráfico de fator para as medições do nosso sensor: Gráficos Fatoriais 19 © 2020Skydio Machine Translated by Google
  • 20. recupere pontos de referência 3D e poses de associações de recursos 2D. • Uma forma de Estrutura a partir do Movimento (SFM). • Usando marginalização o custo de computação pode ser limitado. • Altamente escalável e pode ser bastante • Aproveite a geometria projetiva para preciso. Exemplo Real: Ajuste de Pacote (BA) Fonte da imagem: Theia SFM Para mais detalhes sobre SFM, veja o livro de Richard Szeliski como ponto de partida. © 2020Skydio 20 Machine Translated by Google
  • 21. Localização e Mapeamento Simultâneo quadro. vários passos de tempo. Recuperar localização de pontos de referência Triangular pontos do mapa em alguma referência comum usando poses de câmera. Recuperar pose da câmera Recuperar o estado de um veículo ou em relação à plataforma do sensor do mapa, geralmente sobre pontos. O Bundle Adjustment é uma forma de otimização que realiza essas etapas em conjunto. Estrutura do Movimento (SFM) 21 © 2020Skydio Machine Translated by Google
  • 22. t Quadros recebidos Os quadros-chave armazenam nossas estimativas do movimento do ego. (Otimização) Mapa Calcular pose da câmera Associações de recursos de computação Quadros-chave 2 Rejeição de valores discrepantes 3 Ajuste Pacote 4 1 t-1 t-2 Pipeline SLAM típico com BA 22 © 2020Skydio Machine Translated by Google
  • 23. Correspondência de descritor Acompanhamento/fluxo de recursos Exemplos: Fluxo Óptico, Lucas Kanade Rastreamento, FlowNet Exemplos: SIFT, KAZE, ESFERA, Superponto Fonte da imagem: Georgia Tech Como obtemos associações de recursos? 23 © 2020Skydio Machine Translated by Google
  • 24. ESFERA Custo Computacional Lucas- ELE DIZ Canadá Peneirar Um princípio de “regra prática” a ser considerado na seleção de recursos (eixos não em escala): Compensações de design Robustez Deep Networks são um tanto difíceis de instalar, pois oferecem uma compensação ajustável entre custo e robustez. 24 © 2020Skydio Machine Translated by Google
  • 25. Outliers na associação de recursos © 2020Skydio 25 Machine Translated by Google
  • 26. • Vamos revisar um problema (muito simples) de um brinquedo: • Como lidamos com eles? 26 © 2020Skydio Medição • Outliers: Dados que não estão de acordo com nosso modelo de sensor. Estado: alfa e beta Valores discrepantes Machine Translated by Google
  • 27. 27 © 2020Skydio Problema de brinquedo Machine Translated by Google
  • 28. 28 © 2020Skydio Problema de brinquedo Machine Translated by Google
  • 29. © 2020Skydio 29 RANSAC (Consenso de Amostras Aleatórias) Machine Translated by Google
  • 30. © 2020Skydio 30 RANSAC Machine Translated by Google
  • 33. © 2020Skydio 33 RANSAC Machine Translated by Google
  • 37. • Pode exigir muitas iterações para frações com valores discrepantes ou modelos com um K grande. • Muito simples de implementar: desenhe K exemplos, resolva, conte, repita. … mas ainda é bastante útil na prática. © 2020Skydio 37 • Paralelizado trivialmente. Tem mais tempo de CPU? Experimente mais. • Contras: • Adapte facilmente um método existente. • Prós: • Garantias relativamente fracas. • Os hiperparâmetros precisam de ajuste. RANSAC Machine Translated by Google
  • 38. # Iterações vs. Fração Outlier 38 © 2020Skydio 450 50% 600 40% 70% 2 pontos 300 0 60% 150 80% 4 pontos 10% 3 pontos 0% 750 30% 20% RANSAC Machine Translated by Google
  • 39. t-1 t-2 Associações de recursos de computação Quadros-chave 2 1 Rejeição de valores discrepantes 3 Ajuste Pacote 4 (Otimização) Mapa Calcular pose da câmera Pipeline SLAM típico com BA t Quadros recebidos 39 © 2020Skydio Machine Translated by Google
  • 40. t-1 t-2 Rejeição de valores discrepantes 3 Quadros- chave • Matriz Essencial 4 1 Algoritmos típicos: • PnP 2 Ajuste Pacote • Homografia Associações de recursos de computação (Otimização) Mapa Calcular pose da câmera Pipeline SLAM típico com BA t Quadros recebidos 40 © 2020Skydio Machine Translated by Google
  • 41. Marcos Pacote de raios Calibrações de câmera Posição, orientação BA como um gráfico fatorial 41 © 2020Skydio Machine Translated by Google
  • 42. As trilhas de recursos formam uma medição de 'sensor'. Poses de câmera, posições de referência, parâmetros de calibração. O modelo de medição é dado pela geometria projetiva do problema. 42 © 2020Skydio • Como recuperamos realmente os estados, dadas as medições e o nosso modelo? BA como um problema SLAM ? Precisamos preencher esta caixa. Machine Translated by Google
  • 43. • No entanto, este método é amplamente aplicável, normalmente rápido e fácil de implementar • Para uma revisão muito mais abrangente, recomendo fortemente: Estimativa de estado para todos eles no tempo previsto. • Podemos usar uma técnica chamada Mínimos Quadrados Não Lineares para fazer isso. Robótica, Tim Barfoot, 2015 (online grátis) implementar. • Existem muitas maneiras de formular problemas de SLAM em geral, e não podemos revisar Resolvendo o problema 43 © 2020Skydio Machine Translated by Google
  • 44. • Antes disso, faremos uma suposição adicional - que o ruído de medição é • Converteremos nossos modelos de medição em um sistema de equações. 44 © 2020Skydio • Também assumiremos que temos uma estimativa inicial para os nossos estados. Em um sistema recursivo no tempo, isso poderia vir do quadro anterior. extraído de uma gaussiana de média zero. Suposições Machine Translated by Google
  • 45. A i-ésima pose da câmera, observando o j'ésimo ponto de referência. Pegamos o Mahalanobis quadrado norma, ponderada pela nossa incerteza de medição assumida. E concatene-os em um vetor grande: Reescrevemos nossas medidas como funções residuais: Mínimos Quadrados Não Lineares 45 © 2020Skydio Machine Translated by Google
  • 46. acabamos linearizando o problema e tomando uma série de passos. Jacobiano J é a linearização de f em relação à nossa estimativa inicial. Nossa 'melhor estimativa' ocorrerá quando a função objetivo for minimizada: Como f geralmente será não linear para a maioria dos problemas de SLAM, Mínimos Quadrados Não Lineares 46 © 2020Skydio Machine Translated by Google
  • 47. Cada resíduo é ponderado pela sua incerteza inversa. Aproximação de primeira ordem do Hessiano. A inversão tem complexidade O(|y|3 ) Veja Barfoot, Capítulos 3 e 4. * A solução em cada iteração: Mínimos Quadrados Não Lineares Quando linearizado em torno da solução convergente, o Hessiano invertido funciona como uma aproximação de primeira ordem da covariância marginal da nossa estimativa: * 47 © 2020Skydio Machine Translated by Google
  • 49. • Um grande número de problemas pode ser formulado desta forma (dada uma estimativa inicial). • No entanto, em alguns problemas (como BA) há escassez que podemos aproveitar para melhorar • Pode ser executado em um espaço de memória fixo ÿ adequado para casos de uso incorporados. 49 © 2020Skydio • Geralmente, o custo de resolução de atualizações é cúbico no número de estados: da incerteza em nossa solução. • Reduz a aplicação iterada de mínimos quadrados ponderados. • Na forma linearizada , o problema é “fácil” de resolver. • Com os pesos ÿ apropriados, podemos mostrar que o NLS produz uma estimativa aproximada esse. Mínimos Quadrados Não Lineares Machine Translated by Google
  • 50. usado no otimizador direcionará nossa solução na direção errada. apontar. • Além disso, a estimativa de covariância obtida é tão boa quanto a linearização • Também assumimos ruído gaussiano nas medições. • Precisávamos de uma estimativa inicial para linearizar o sistema. Se a estimativa for ruim, o gradiente • Lembre-se de nossas suposições: • Os valores discrepantes devem ser removidos ou eles dominarão a otimização. Advertências 50 © 2020Skydio Machine Translated by Google
  • 51. • Para uma variável gaussiana u e uma função vetorial não linear g, podemos aproximar: Como linearizamos, a fidelidade do nosso ÿ de primeira ordem depende desta aproximação. • Vale a pena considerar o efeito da linearização na nossa estimativa de incerteza. Linearização © 2020Skydio 51 Veja Barfoot, Capítulo 2. Machine Translated by Google
  • 52. • Inclui soluções para SLAM e BA. • Solucionador Ceres, produzido pelo Google • Permite especificação do problema em formato de gráfico fatorial, construído para SLAM. • Algumas ferramentas relevantes: • Otimizador geral não linear de mínimos quadrados. • Píton 52 © 2020Skydio • G2O • GTSAM, pacote de código aberto criado por Frank Dellaert e outros. • scipy.optimize.mínimos_quadrados Ferramentas Machine Translated by Google
  • 53. • Uma associação robusta pode exigir descritores caros. • Taxa de atualização limitada à taxa de quadros da câmera (lenta). • Grande: Dezenas de milhares de imagens em escala urbana. • Bastante simples de implementar. • Pequeno: Algumas molduras de imagem num telemóvel. • A BA pode operar em pequena e grande escala. • Após a associação de características, devemos dedicar a computação não trivial à rejeição de valores discrepantes. • Mas: BA em sistemas em tempo real 53 © 2020Skydio Machine Translated by Google
  • 54. © 2020Skydio Fonte: Lord MicroStrain Câmeras 54 Marcos Pacote de raios Parâmetros de calibração de polarizações/IMU Posição, orientação, velocidade IMU, modelo de movimento Calibrações de câmera Unidade de Medição Inercial Fonte: MatrixVision VIO como gráfico fatorial: BA + IMU Machine Translated by Google
  • 55. • NARIZ: • Alta taxa de atualização, baixo custo computacional, poucos valores discrepantes (talvez saturação). • Preciso em intervalos curtos, mas varia com o tempo. • Capaz de recuperar a atitude em relação ao referencial global (gravidade). • Câmera: • Capaz de relocalizar com precisão em grandes distâncias. • Câmera e IMU são altamente complementares: • Uma das adaptações mais bem-sucedidas da pesquisa de visão ao mercado. 55 © 2020Skydio • Baixa taxa de atualização, alto custo computacional, sujeito a dados discrepantes. • Presente em smartphones, headsets AR/VR, drones, veículos autônomos. SERRA Machine Translated by Google
  • 56. t-2 t-1 Rejeição de valores discrepantes Quadros-chave Ajuste Pacote A IMU pode agregar um valor substancial aqui. Associações de recursos de computação (Otimização) Mapa Calcular pose da câmera SERRA t Quadros recebidos 56 © 2020Skydio Machine Translated by Google
  • 57. • PTAM Uma das primeiras demonstrações funcionais de SLAM visual • ROVIO VIO, exemplo de método direto • Basalto SERRA • CMVS Estéreo multivisualização 57 © 2020Skydio • ORB-SLAM2 SLAM em tempo real com otimização BA • COLMAP SFM off-line e estéreo multivisualização (MVS) • Implementações de código aberto existentes (não exaustivas): • VINS-Mono VIO, roda em um dispositivo móvel • OpenMVG Implementações BA/VIO Machine Translated by Google
  • 58. • Gráficos de Fatores para Percepção de Robôs (Dellaert e Kaess, 2017) • Leitura Adicional: • Robótica Probabilística, (Thrun, Burgard e Fox, 2005) © 2020Skydio 58 • GTSAM Biblioteca de software • Odometria Visual, (Scaramuzza e Fraundorfer, 2011) Questões? Sinta-se à vontade para entrar em contato: gareth@skydio.com • Estimativa de Estado para Robótica (Barpé, 2015) FIM Machine Translated by Google