Git Product home page Git Product logo

23_capocaccia_laser's Introduction

Real-time event-based laser tracking at CapoCaccia 2023

The goal of this setup was to use a galvanic mirror-controlled laser and event camera (see picture) to track a laser pointer controlled by a human in real-time.

Equipment: Galvanic mirror system with event camera (picture). Laser pointers emitting at 300Hz, 900Hz, and 2000Hz. 2 x DXplorer cameras (640x480 resolution) to change the perspective. NVIDIA 3070 GPU for compute.

Challenges:

  • Learn mapping from event camera to laser position
  • Distinguish "efferent" laser pointer from human laser pointer (optional)
  • Adapt to changing camera positions over time (optional)

Requirements:

  • AEStream for streaming events from our cameras.
  • Laser for controlling the galvanic mirror laser.

Approaches

The following approaches were pursued:

BBB (Braitenberg)

A Braitenberg vehicle that continuously tries to move closer to the goal.

PD-controller

A proportional-integral controller that minimizes the current (and predicted) error.

PD-controller (learnt)

A proportional-integral controller that tries to learn an improved mapping from camera space to laser space with gradient descent.

https://github.com/Jegp/23_capocaccia_laser/raw/main/pd_learnt.mp4

https://github.com/Jegp/23_capocaccia_laser/raw/main/pd_learnt2.mp4

DQN

A deep Q network that trains on the mapping with reinforcement learning.

Spiking arrows (GeNN)

A spiking neural network in GeNN available here: https://github.com/juleslcmt/spiking_arrows

Presentation slideshow available as a PDF

SNN PD controller

A PD controller in Norse tracking the laser (in the ccw-laser-tracking folder).

https://github.com/Jegp/23_capocaccia_laser/raw/main/ccw.mp4

https://github.com/Jegp/23_capocaccia_laser/raw/main/ccw2.mp4

Dynamic neural field (DNF)

Uses dynamic neural fields to track laser dots. Based on the paper Learning to Look: A Dynamic Neural Fields Architecture for Gaze Shift Generation by Christian Bell, Tobias Storck & Yulia Sandamirskaya .

Acknowledgements

The dedicated team working on the approaches consisted of (in alphabetical order): Chiara Bartolozzi, Luna Gava, Antoine Grimaldi, Mitra Hartmann, Michael Hopkins, James Knight, Jules Lecompte, Antony N'dri, Jens E. Pedersen, Luca Peres, Yulia Sandamirskaya, Thomas Tiotto, Chenxi Wen.

Thank you for all your work and efforts!

23_capocaccia_laser's People

Contributors

jegp avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.