OpenDataCam is an open source tool that helps to quantify the world. With computer vision OpenDataCam understands and quantifies moving objects. The simple setup allows everybody to count moving objects from cameras and videos.
People use OpenDataCam for many different use cases. It is especially popular for traffic studies (modal-split, turn-count, etc.) but OpenDataCam detects 50+ common objects out of the box and can be used for many more things. And in case it does not detect what you are looking for, you can always train your own model.
OpenDataCam uses machine learning to detect objects in videos and camera feeds. It then follows the objects as they move accross the scene. Define counters via the easy to use UI or API, and every time an object crosses the counter, OpenDataCam takes count.
👉 UI Walkthrough (2 min, OpenDataCam 3.0) | 👉 UI Walkthrough (4 min, OpenDataCam 2.0) | 👉 IoT Happy Hour #13: OpenDataCam 3.0 |
---|---|---|
OpenDataCam comes feature packed, the highlight are
- Multiple object classes
- Fine grained counter logic
- Trajectory analysis
- Real-time or pre-recorded video sources
- Run on small devices in the field or data centers in the cloud
- You own the data
- Easy to use API
The quickest way to get started with OpenDataCam is to use the existing Docker Images.
- You will need Docker and Docker-Compose installed.
- If you want to run OpenDataCam on a NVIDIA GPU you will additonally need
- Nvidia CUDA 11 and cuDNN 8
- Nvidia Container toolkit installed
- You also need to install
nvidia-container-runtime
- To run OpenDataCam on a NVIDIA Jetson device you will need Jetpack 5.x.
# Download install script
wget -N https://raw.githubusercontent.com/opendatacam/opendatacam/v3.0.2/docker/install-opendatacam.sh
# Give exec permission
chmod 777 install-opendatacam.sh
# Note: You will be asked for sudo password when installing OpenDataCam
# Install command for Jetson Nano
./install-opendatacam.sh --platform nano
# Install command for Jetson Xavier / Xavier NX
./install-opendatacam.sh --platform xavier
# Install command for a Laptop, Desktop or Server with NVIDIA GPU
./install-opendatacam.sh --platform desktop
This command will download and start a docker container on the machine. After it finishes the docker container starts a webserver on port 8080 and run a demo video.
Note: The docker container is started in auto-restart mode, so if you reboot your machine it will automaticaly start opendatacam on startup.
To stop it run docker-compose down
in the same folder as the install script.
Open your browser at `http://[IP_OF_JETSON]:8080``. (If you are running with the Jetson connected to a screen try: http://localhost:8080)
You should see a video of a busy intersection where you can immediately start counting.
Now you can…
- Drag'n'Drop a video file into the browser window to have OpenDataCam analzye this file
- Change the video input to run from a USB-Cam or other cameras
- Use custom neural network weigts
and much more. See Configuration for a full list of configuration options.
In order to solve use cases that aren't taken care by our opendatacam base app, you might be able to build on top of our API instead of forking the project.
https://opendatacam.github.io/opendatacam/apidoc/
@rantgithub
funded work to add Polygon counters and to improve the counting lines
Please ask any Questions you have around OpenDataCam in the GitHub Discussions. Bugs, Features and anythings else regarding the development of OpenDataCam is tracked in GitHub Issues.
For business inquiries or professional support requests please contact Valentin Sawadski or visit OpenDataCam for Professionals.
- Original darknet @pjreddie : https://pjreddie.com/darknet/
- Darknet fork + YOLOv4 by @alexeyab : https://github.com/alexeyab/darknet
- IOU / V-IOU Tracker by @bochinski : https://github.com/bochinski/iou-tracker/
- Next.js by @zeit : https://github.com/zeit/next.js