Computer vision is still an area of great innovation and many yet unexplored applications. So bundling necessary components to run an image stream analyzing engine is still very handy. To address this need, software development team at Starwit released Starwit’s Awareness Engine (SAE) as open source. It is a engine that combines image/video capturing, object detection, object and time series based data storage.

In essence a live video stream is put in one end and coordinates of tracked objects with time stamps will end up in a data base on the other end. All components are bundled in one wrapping repository [1]. Without any modification SAE uses object detection with Yolov8 and the code from Ultralytics [2]. Objects are then tracked using Deep-OC-SORT and the implementation from Mikel Brostrom [3]. However engine is build in a way, that all individual components can be easily replaced. This way users can benefit from progress by incorporating improved algorithms in their SAE installation.

Vehicles tracked by Starwit’s awareness engine

Next to Starwit’s smart city data products, SAE aims for enabling researchers and students with an easy to install complete software bundle for computer vision development. Providing a robust architectural skeleton improving object detection or implementing new tracking algorithms shall be no complicated setup and installation trouble. The following image shows SAE’s main components and it’s modular architecture.

In the weeks and months to come how-tos and development guides will be published. All components will be explained in more detail. However encourage everyone to play with the technology. SAE can be run in any cloud environment as well as on embedded devices – Kubernetes is the only prerequisite. Local development setups are also supported – see repository for more details. So start your journey to computer vision today!

[1] https://github.com/starwit/vision-pipeline-k8s
[2] https://github.com/ultralytics/ultralytics
[3] https://github.com/mikel-brostrom/yolo_tracking