Event Camera
- Também chamado: dynamic vision sensor, DVS, neuromorphic camera, silicon retina
- Categoria: Sensing › Exteroceptive
- Tags: computer-vision, sensors, neuromorphic, high-speed-perception, drones
Um sensor de visão cujos pixels relatam de forma independente as mudanças de brilho como eventos com carimbo de tempo, em vez de quadros completos, oferecendo temporização muito fina, alta faixa dinâmica e ausência de borrão de movimento.
Definição
Uma câmera de eventos (event camera) não captura imagens a uma taxa de quadros fixa. Cada pixel funciona de forma independente e dispara um evento quando o logaritmo da intensidade de luz que ele vê mudou mais do que um limiar definido desde seu último evento. Um evento contém as coordenadas do pixel, um carimbo de tempo com resolução da ordem de microssegundos e uma polaridade que indica se o brilho aumentou ou diminuiu. A saída é um fluxo assíncrono cuja taxa depende de quanto a cena muda: uma cena estática diante de uma câmera estática não produz quase nada, enquanto um movimento rápido produz uma taxa de eventos muito alta.
O primeiro sensor desse tipo amplamente usado foi o sensor de visão dinâmica (DVS) de Lichtsteiner, Posch e Delbruck (2008), inspirado na forma como a retina responde a mudanças. Projetos posteriores, como o DAVIS, também leem quadros de intensidade convencionais a partir da mesma matriz de pixels, e sensores do tipo ATIS acrescentam medições de intensidade por pixel. Como cada pixel responde à intensidade logarítmica em relação ao seu próprio passado recente, as câmeras de eventos lidam ao mesmo tempo com regiões muito claras e muito escuras de uma cena e, como não há tempo de exposição compartilhado, o movimento rápido não borra a saída. A latência e o consumo de energia também são baixos em comparação com câmeras de quadros operando a taxas altas.
O custo é que os algoritmos padrão de visão computacional não se aplicam diretamente. Os métodos processam os eventos um a um, por exemplo em filtros evento a evento, ou os acumulam em janelas curtas em quadros de eventos, superfícies temporais ou grades de voxels que podem alimentar pipelines convencionais ou aprendidos. As câmeras de eventos são ruidosas, sensíveis à cintilação de lâmpadas alimentadas pela rede elétrica, costumam oferecer resolução menor do que as câmeras de quadros e respondem principalmente a bordas que se movem em relação ao sensor, de modo que regiões sem textura e movimentos ao longo de uma borda dão pouco sinal. Elas são usadas para rastreamento em alta velocidade, odometria visual sob rotação rápida e cenas com pouca luz ou alto contraste, muitas vezes junto com uma câmera de quadros e uma IMU.
Por que importa
Muitas falhas de percepção em robôs rápidos vêm do borrão de movimento, de imagens saturadas ou subexpostas e da latência das câmeras de quadros. As câmeras de eventos eliminam esses modos de falha, o que torna possível continuar rastreando características durante giros e manobras rápidas ou em cenas que misturam luz forte e sombra.
Principais aplicações
- Odometria visual e SLAM durante movimentos rápidos
- Detecção e desvio de obstáculos de baixa latência para drones
- Rastreamento de objetos e características em alta velocidade
- Visão em cenas de alta faixa dinâmica e com pouca luz
- Estimação de fluxo óptico
Na prática
Um quadricóptero que perde uma hélice pode continuar controlável girando rapidamente em torno de seu eixo vertical, mas a essa taxa de rotação as imagens de uma câmera de quadros ficam borradas, especialmente com pouca luz, e o rastreamento de características falha. Trabalhos sobre esse problema comparam um pipeline baseado em quadros com outro que usa uma câmera de eventos: os eventos são acumulados em janelas curtas, as características são detectadas e rastreadas nessa representação, e os rastros são passados, com os dados da IMU, a um back-end de odometria visual-inercial. Configurar o sensor envolve calibrar os parâmetros intrínsecos com um padrão piscante ou em movimento (um tabuleiro de xadrez estático não produz eventos), sincronizar os carimbos de tempo com a IMU e ajustar os limiares de contraste e as configurações de polarização para equilibrar sensibilidade e ruído. Lâmpadas internas que cintilam geram eventos espúrios que precisam ser filtrados antes do rastreamento.
Equívocos comuns
- Uma câmera de eventos é apenas uma câmera de quadros muito rápida — ela não tem quadros; cada pixel relata mudanças de forma assíncrona, de modo que uma cena estática não produz quase nenhuma saída
- As câmeras de eventos veem tudo na cena — elas respondem a mudanças de brilho, principalmente em bordas em movimento, de modo que superfícies sem textura e movimentos ao longo de uma borda dão pouco sinal
- Os eventos são dados limpos — os limiares variam entre os pixels, o ruído de fundo e a cintilação da luz produzem eventos espúrios, e a filtragem faz parte de todo pipeline prático
Quem deve saber
- Engenheiros de percepção que trabalham com robôs que se movem rápido
- Pesquisadores de autonomia de drones
- Pesquisadores de visão computacional em sensoriamento neuromórfico
- Engenheiros de estimação de estado
Tecnologias relacionadas
- Sensor DAVIS (DAVIS Sensor)
- Superfícies temporais (Time Surfaces)
- Redes neurais de impulsos (Spiking Neural Networks)
- Computação neuromórfica (Neuromorphic Computing)
- Fluxo óptico baseado em eventos (Event-Based Optical Flow)
Termos relacionados
Projetos relacionados
- ArduPilot: World's most trusted open-source autopilot for drones, planes, rovers, and submarines
- PX4 Autopilot: Open-source flight control software for drones and other unmanned vehicles
- OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
- QGroundControl: Cross-platform ground control station for mission planning and drone flight monitoring
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
- pySLAM: Hybrid Python/C++ visual SLAM pipeline with classic and deep-learning front-ends
Vídeos
- Event Cameras: a New Way of Sensing - Davide Scaramuzza - ICCP 2024 Keynote: UZH Robotics and Perception Group