A server for offline video processing
In the simplest case you install RD Analytics on a single local Linux computer. This machine processes video, stores results and provides visual interfaces for data analysis. The users connect this server remotely from their Windows/macOS computers using the browser.
You upload a video file to your server using the web interface, or, if you have an external HDD with terabytes of video, – you plug the HDD to your server directly and move the files all at once. After the files are loaded, you create processing tasks and leave the server running for a while. Once the files are processed, you’ll get a notification. The system is multi-user, which means that you can grant access to the reports to your colleagues, who can also connect your server remotely from their laptops.
You upload a video file to your server using the web interface, or, if you have an external HDD with terabytes of video, – you plug the HDD to your server directly and move the files all at once. After the files are loaded, you create processing tasks and leave the server running for a while. Once the files are processed, you’ll get a notification. The system is multi-user, which means that you can grant access to the reports to your colleagues, who can also connect your server remotely from their laptops.
Connect cameras to your server
If you need to run road traffic analysis in real-time, you connect IP-cameras to your server instead of loading files. ‘Connect a camera’ means that you specify the camera’s IP-address in the setup interface of RD Analytics. The system will validate the source and display ’live’ video stream in your browser. The information about detected vehicles gets saved in real-time and the users see it in the reports immediately.
The number of the cameras that you can connect to a single server depends heavily on the HW configuration, on cameras’ resolution and on the complexity of the recognition configuration that you assigned to your streams.
The number of the cameras that you can connect to a single server depends heavily on the HW configuration, on cameras’ resolution and on the complexity of the recognition configuration that you assigned to your streams.
RD Analytics leverages ‘Manager–Workers’ architecture
The system has two main parts: the recognition server (the ‘worker’) and the ‘manager’. The worker decodes video streams, analyses them and returns extracted data. The manager controls the workers: assigns tasks, saves results, builds and visualizes reports.
When your car recognition system is small, both parts run on the same computer and this division doesn’t play a significant role. However, the ‘manager-worker’ approach becomes absolutely vital when you scale your system up. In order to process either large volumes of video footage or big number of cameras, you add more ‘workers’ (recognition servers) to your system. And regardless of the number of physical servers, the system still works as a whole because all the parts are controlled by a single ‘manager’ from single interface. All the data that comes from recognition servers still can be presented in a single unified report.
When your car recognition system is small, both parts run on the same computer and this division doesn’t play a significant role. However, the ‘manager-worker’ approach becomes absolutely vital when you scale your system up. In order to process either large volumes of video footage or big number of cameras, you add more ‘workers’ (recognition servers) to your system. And regardless of the number of physical servers, the system still works as a whole because all the parts are controlled by a single ‘manager’ from single interface. All the data that comes from recognition servers still can be presented in a single unified report.
Connecting remote locations is easy
If your cameras are installed at different locations, the best approach to run the analysis is to place one recognition server per location and connect them all to a single central ‘manager’. The advantage is that you don’t stream video over public networks from the remote locations to the central office. You process everything locally and send to the central office only the results. Another advantage is, unlike connecting remote cameras, you don’t need to reserve static IP-addresses for the recognition servers - they will connect central ‘manager’ automatically.
Depending on the number of cameras you need to analyze, you can use either a full-size x86 server with a GPU card, or a small ARM-based embedded PC as your vehicle recognition server.
Depending on the number of cameras you need to analyze, you can use either a full-size x86 server with a GPU card, or a small ARM-based embedded PC as your vehicle recognition server.
Move the manager into the cloud
If your road traffic analysis system becomes city-wide or a country-wide project you may consider moving the central manager and your databases to a cloud infrastructure like AWS, Azure or Google Cloud. The architecture of RD Analytics fully supports such an option. In this case you install your central manager on a virtual compute instance. All the local recognition servers (that remain physical servers installed at different locations) stream the information about the traffic flows to your cloud infrastructure. The administrators, who set up the system, as well as regular users, who analyze the reports - they all connect the system through your ‘cloud manager server’.
Send data to 3rd party systems
By default, the recognition servers save data the system’s internal database. Users can visualize and analyze the collected information through built-in interactive dashboards. If you need to retrieve raw data from our system, you can use our API interface. It allows you to query the data in JSON format as well as to get reference images of detected objects through HTTP requests.
In addition to such ‘on-demand’ data retrieval, RD Analytics allows you to send data to 3rd party databases or 3rd party HTTP endpoints in real-time. With this option you don’t need to request data every time. Instead, your recognition server will be sending information about the detected object to your systems immediately after it recognizes it.
RD Analytic is flexible. In some cases, it will be your complete end-to-end system. In other cases, it will work as an intermediate part of a bigger data analysis system.
In addition to such ‘on-demand’ data retrieval, RD Analytics allows you to send data to 3rd party databases or 3rd party HTTP endpoints in real-time. With this option you don’t need to request data every time. Instead, your recognition server will be sending information about the detected object to your systems immediately after it recognizes it.
RD Analytic is flexible. In some cases, it will be your complete end-to-end system. In other cases, it will work as an intermediate part of a bigger data analysis system.
Did you find a deployment option right for you?
We'll be glad show how RD Analytics works 'live' and answer your questions. Just drop us a message...