Architecture#
The CARS API architecture is shown in the figure below (Figure 1).

A detailed description of the architecture is provided in Table 2.
Table 2. Description of the CARS API architecture
Component | Description |
---|---|
Request source | Sources of requests for vehicle and LP attribute recognition: |
- Manual user request (see API requests); | |
- External system. CARS Analytics or any other customer’s system may be used. | |
Load balancer | A service for distributing requests and responses between multiple running instances of the CARS API and an external analytics and information collection system. CARS API supports only Nginx. |
HTTP REST Server | A service responsible for exchanging information with external systems and processing requests. It processes the received request: decodes the image into an internal format available for attribute recognition, then sequentially runs each classifier. After receiving the vehicle and LP attributes from the classifiers, it sends a response in JSON format back to the request source. |
Vehicle Engine | A library containing methods for processing vehicle and LP images (see configuration). |
HTTP REST Server and Vehicle Engine interaction diagram#
The sequence diagram for the interaction between the HTTP REST Server and Vehicle Engine components for obtaining vehicle attributes is shown in the figure below (Figure 2).

A detailed description of the diagram is provided in Table 3.
Table 3. Description of the sequence diagram
Step | Description |
---|---|
(1) | A request is sent to the HTTP REST Server in JSON format containing information about Base64-encoded vehicle and LP images, an image processing method, and a list of classifiers. |
(2) | The function that checks for the presence of a classifier compares the list of provided classifiers with the list of available classifiers. |
(3) | The HTTP REST Server calls the image processing method for each classifier in the specified list. Processing is started sequentially for each classifier. |
(4) | The Vehicle Engine processes the images according to the called method. |
(5) | The Vehicle Engine returns data to the HTTP REST Server for each passed classifier in sequence. |
(6) | The HTTP REST Server generates the response and sends it in JSON format back to the request source. |