This is a hands-on course introducing event-based vision through practical experiments and projects using event sensor.
Course Information
| Item | Details |
|---|---|
| Course | Event Camera Exploration |
| Credits | 1 |
| Format | Laboratory / Hands-on |
| Language | English |
| Duration | 15 Weeks |
| Hardware | OpenMV X320 Event Camera |
| Programming | Python |
| Prerequisites | Basic programming knowledge |
Course Description
Unlike conventional cameras that capture complete image frames, event cameras record only changes in brightness, enabling extremely low latency, high dynamic range, and efficient sensing.
This course introduces the fundamentals of event-based vision through practical exercises and project-based learning. Students will learn how event cameras work, collect event streams, process event data, and develop their own event-driven applications.
No prior knowledge of event cameras is required.
Learning Outcomes
After completing this course, students will be able to
- Understand the principles of event-based vision
- Operate an OpenMV X320 event camera
- Capture and visualize event streams
- Process event data using Python
- Implement simple event-based vision algorithms
- Develop a complete event-camera application
- Present and demonstrate a working project
Software
Students will use
- Python
- OpenMV IDE
- Git
- GitHub
- Visual Studio Code (recommended)
Hardware
- OpenMV X320 Event Camera
- USB Cable
- PC (Windows, Linux, or macOS)
Weekly Schedule
| Week | Topic | Laboratory |
|---|---|---|
| 1 | Introduction to Event Cameras | Camera demonstration |
| 2 | Hardware Setup | Install software and connect the camera |
| 3 | Event Streams | Capture and visualize events |
| 4 | Motion Sensing | Observe motion-generated events |
| 5 | Lighting & Dynamic Range | Indoor and outdoor experiments |
| 6 | Event Processing | Filtering and event accumulation |
| 7 | Motion Detection | Implement motion detection |
| 8 | Object Tracking | Track moving objects |
| 9 | Gesture Recognition | Detect simple gestures |
| 10 | Event Camera Applications | Explore real-world examples |
| 11 | Project Proposal | Design your own project |
| 12 | Project Development | Implementation |
| 13 | Project Development | Testing and refinement |
| 14 | Project Development | Final integration |
| 15 | Project Demonstration | Presentation and demo |
Repository Structure
.
├── docs/
│ ├── lectures/
│ ├── labs/
│ └── slides/
│
├── examples/
│ ├── basic/
│ ├── motion_detection/
│ ├── tracking/
│ └── gesture/
│
├── datasets/
│
├── projects/
│
├── assignments/
│
├── resources/
│
└── README.md
Labs
Each lab includes
- Objectives
- Background
- Step-by-step instructions
- Sample code
- Exercises
- Challenge tasks
Final Project
Students will design and implement an event-camera application.
Possible topics include
- Motion detection
- Object tracking
- Gesture recognition
- Event visualization
- High-speed sensing
- Human-computer interaction
- Robotics
- Custom applications
Assessment
| Component | Weight |
|---|---|
| Weekly Labs | 30% |
| Participation | 10% |
| Project Proposal | 10% |
| Final Project | 35% |
| Final Presentation | 15% |
Resources
Useful references will be provided throughout the course.
Recommended topics include
- Event-based Vision
- Neuromorphic Computing
- Event Cameras
- OpenMV Documentation
- Python Programming
Course Philosophy
This course emphasizes
- Learning by doing
- Exploration over memorization
- Experimentation
- Creativity
- Open-source development
- Team collaboration
Students are encouraged to modify examples, perform their own experiments, and share interesting discoveries with the class.
GitHub Workflow
Throughout the semester, students will
- Clone the course repository.
- Complete weekly laboratory exercises.
- Commit changes regularly.
- Push their work to GitHub.
- Submit assignments through GitHub.
- Develop their final project using version control.
License
Unless otherwise specified, all course materials are released for educational use.
Maintainers
- Khanh N. Dang (check this page for the contact).
- AY2026: Rui Shiota (m5291066@u-aizu.ac.jp)