project-proposal-2025

DriveVision

Abstract

As the autonomous driving industry continues to gain prominence, the need for reliable, user-friendly systems capable of real-time processing and analysis of automotive video streams has become increasingly critical. However, universally accessible and affordable solutions remain scarce, particularly for small startups facing high overhead costs and substantial development hurdles.

DriveVision addresses this gap as an innovative, web-based platform seamlessly integrating multiple advanced computer vision models to deliver instant and comprehensive analysis of vehicle camera feeds by performing various fundamental cv tasks such as depth mapping, object detection and segmentation, in which users can easily choose to turn on or off those features at any times.

The system emphasizes on scalability, modularity, extensibility, security as key attributes through its microservice-based architecture, as key attributes to ensure success of this project

Author

Name: Qinlong Zhang

Student number: 48370161

Functionality

Overview

Our system will provide API for the users, in which verified users can securely transmitted its video stream into our system and get real time analysis data back such as segmentation data, depth data, and 3D object detection data back. User can of course choose which data they want by turning on or off some analysis via button. Users can also view those data overlay on top of videos in real time by selecting the needed overlay via buttons.
The general workflow as follows process.png

Features

Model

img.png

Scope

The scope for the minimal viable product is

Quality Attributes

The Quality attributes that are important for this project are scalability,modularity, extensibility. While, the security is a important feature, it will not be major focus as it can be easily integrated during in the implementation phase. The three attributes importance are ranked in a sequential order with the most important attribute on the top, and least important on the bottom

Scalability is also extremely important, given that CV inference is a computationally heavy task. When there is huge influx data to be processed at same time, it is infeasible for a single node to give a real time response. However vertical scaling requires expensive overhead, which may not be instantly available, thus we primary rely on the horizontal scaling to dispatch tasks to different nodes for inference, so users won’t have to wait long time to wait for the system to response. This is crucial as automatic driving have extreme high level requirements for low latency reliable inference, otherwise car incidents may happen.

Modularity is very important attributes. That is because many components of this project such as CV analytical jobs, Login Tasks, Rendering Tasks, Data stream Exchange, are self-contained and can be independently developed, deployed, and updated provided given that the design is good enough. Given that limited time this project is available, concurrent development, deployment and update is important. Besides, Self-contained design is more robust as one component crash won’t propagate to the who system. The separation of functionalities also simplify the troubleshooting, maintenance, and future integration, which is also important. The decoupling design also enable extend new features functionalities much easier.

Extensibility is worth noting attributes. Given the fast evolution of AI, when new technologies emerges we want to quickly integrate them into our system even they are completely different from traditional ones, instead of only able to replace existing models. This will make our project remain competitive even in the future and evolve over time to adapt more and more user requirements

We made such trade off as low latency is most important for this project; a delayed process can result in serious safety hazard. Thus we put scalability on the top. Modularity is second, as we must guarantee the delivery the project in a fixed timeline with limited human power and resource. The extensibility is least important,as even it is not likely we will continue to work this project in the future, but we want to make it easy for us continue developing

Evaluation

we will do a pressure test to see, the amount of concurrency one inference node can handle by checking its process time, CPU and Memory consumption. Thus we can determine the best load balance strategies to dispatch inference tasks. We will write automatic scripts to test limits of single inference node and results will be benchmarked including cpu consumption, memory consumption, and latency. We will also write scripts to test the entire inference service by starting increasing the number of concurrent data streamed and benchmarked the results, especially latency.

Group discussion and architecture review will be made to determine the tight coupling that may hinder the modularity. Fault isolation test will be conduct to ensure a single module failure will not not crash the whole system. Unit testing ensure each module achieve its own assigned functionalities. Integration testing ensure that the module work smoothly with defined API and interface

–Extensibility

We will measure how easy/hard it is to integrate new analytical tasks using existing architecture. Sample analytical tasks will be procured for testing purpose such as VLM, etc. We will measure how many new modules have to be added, how many modules have to be updated, and how many module will be impact.