Architecture#
The CARS API architecture (Figure 1).

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

A detailed description of the diagram is given in Table 3.
Table 3. Sequence diagram description
№ | Description |
---|---|
(1) | A request is sent to the HTTP REST Server in JSON format containing information about Base64-encoded vehicle and LPs images, an image processing method, and a list of classifiers |
(2) | The function of checking for the presence of a classifier checks the list of given classifiers with the list of available ones |
(3) | HTTP REST Server calls the image processing method for each of the specified list of classifiers separately. Processing is started sequentially for each passed classifier. |
(4) | Processing is sequentially started for each transferred classifier and detector |
(5) | The Vehicle Engine returns data to the HTTP REST Server for each passed classifier per queue. |
(6) | The HTTP REST Server performs response generation and sends the response in JSON format back to source of request |