What is OpenSight?
OpenSight is a free and open source computer vision system targeted specifically for the Raspberry Pi. Our goal is to make it easy for people not familiar with vision to be able to make complex pipelines, while also providing powerful functionality for advanced users.
We highly encourage joining our Discord server if you are interested or have any questions, issues, or feedback.
For general installation, installation, setup, and other information, see our documentation.
Why OpenSight?
OpenSight is built around three principles: free software, ease of use, customization.
OpenSight is free and open source, now and forever. You can check out and contribute to the source code here.
We provide a Raspberry Pi image and packages for common coprocessors, so you can get up OpenSight up and running in a matter of minutes. Our documentation is written with both new and experienced users in mind. We also have some hardware bundles to make your buying process easier. We help handle the hard parts, so you can get right to the vision.
Just how customizable is OpenSight?
Every part of your vision pipeline is customizable. Yes, every part. This may be daunting for new users, however do not fear. The Pi image contains multiple example pipelines to get you started, and we’re working on documentation to make sure you can make your vision pipeline exactly how you want. If your hardware can handle it, you can even track multiple vision targets simultaneously! You can scroll to the bottom to see some example pipelines.
OpenSight is far more flexible than any prebaked solution. No more finding out what NetworkTables value you need to use or limiting yourself to basic tracking. OpenSight lets you create your pipeline how you want. You have full control over your pipeline.
In fact, developers can add their own functions to OpenSight!
If you know Python, you can add your own module to OpenSight. We have worked hard to make sure that it is easy to create modules, ranging from basic operations to complex actions. For example, the blur function is just fifteen lines of code! We are always looking for more modules, and if you have any great ideas or want to contribute to some work in progress modules, come to our Discord server.
How fast is OpenSight?
OpenSight has an efficient design which ensures you get great performance. The FPS you get will likely depend on your camera. Common cameras such as the LifeCam are limited to 30 FPS. However, with high FPS cameras such as the Raspberry Pi Camera, you can run a consistent, full vision tracking pipeline at 85 FPS on the Raspberry Pi 4!
How do I get it?
OpenSight runs on many coprocessors, from the Raspberry Pi to the Jetson Nano. If you have a Linux system, you can use the quick install script to get a testing instance of OpenSight. The installation guide for all systems can be found here.
What’s next?
OpenSight is still an active project. Here are some features we have up and coming for the next release:
- Angle Finding
- H.264 Camera Server
- Static network settings
- GPIO Control functions
- Conditional logic functions (boolean testing, AND, OR, etc)
You can view our Trello board here which contains all of the features we’re planning on adding.
Do you want to take part in OpenSight? You can learn about how to contribute here!
A simple blurring pipeline:
Rudimentary vision tracking:
Multiple target tracking: