Skip to content

Classifiers#

Attributes of vehicles or LPs are recognized by classifiers. This section describes the classifiers available in the CARS API and their fields.

Vehicle classifiers#

The section describes the vehicle classifiers and their fields available in the CARS API.

«car_brand_model_v2»#

These classifiers recognize brand and model of the vehicle. Return the name of the brand and model of the vehicle in Latin characters and assessment of recognition accuracy (Table 4).

For the classifier «car_brand_model_v2», recognition of more than 160 brands and 1700 models is supported. See Appendix 4, Table 1 for a full list of brand and model names.

See Appendix 4, Table 2 for a full list of brand and model names.

The recognition of the brand and model of the vehicle in the system is performed by the appearance of the vehicle body. When using the classifier "car_brand_model_v2" vehicles of different brands and models, but having a similar body type, the system refers to the same brand and model – the most common in the Russian Federation. For example, ZAZ Sens, ZAZ Lanos, ZAZ Chance, Daewoo Sens, Daewoo Lanos, Chevrolet Lanos, ZAZ Lanos Furgon have a similar appearance, and the CARS API defines these models as Chevrolet Lanos. That is, when sending an image of any of these vehicles, "Chevrolet" and "Lanos" will be displayed in the "Brand" and "Model" fields, respectively. A complete list of groupings of related brands and models is presented in Appendix 4, Table 3.

Table 4. Fields description of car_brand_model_v2 classifiers

Field name Type Description Possible values
classifier string Name of classifier car_brand_model_v2
execution_time int Execution time in milliseconds -
brand string Vehicle brand Scoda
model string Vehicle model Kodiaq
score float Assessment of accuracy recognition of vehicle brand and model 0.0000…1.0000

An example of an input image (Figure 3).

Input image example for the car_brand_model_v2 classifier
Figure 3. Input image example for the car_brand_model_v2 classifier

Response example:

{
    "brand": "Skoda",
    "classifier": "car_brand_model_v2",
    "model": "Kodiaq",
    "score": 1
}

«vehicle_color»#

The classifier recognizes the color of the vehicle. Returns in the response name of the and assessment of accuracy recognition (Table 5). Supported recognition of 16 colors.

Table 5. Fields description of the vehicle_color classifier

Field name Type Description Possible values
classifier string Name of classifier vehicle_color
vehicle_color string Vehicle color Beige, black, blue, brown, cherry, golden, gray, green, light_blue, orange, pink, red, silver, violet, white, yellow.
vehicle_color_score float Assessment of accuracy recognition of the vehicle color 0.0000…1.0000

An example of an input image (Figure 4).

Input image example for the vehicle_color classifier
Figure 4. Input image example for the vehicle_color classifier

Response example:

{
    "classifier": "vehicle_color",
    "vehicle_color": "white",
    "vehicle_color_score": 0.9919
}

«detailed_vehicle_color»#

The classifier recognizes the color type and color of the vehicle. It returns in the response the color type, the vehicle color name and the recognition accuracy score (Table 6). Recognition of 4 color types and 12 colors is supported.

Table 5. Fields description of the detailed_vehicle_color classifier

Field name Type Description Possible values
classifier string Name of classifier detailed_vehicle_color
color_type string Vehicle coloring type TC mono - single color, multi - multicolor, colorgraph - with stickers/paintings, pics - with color graphics
color_type_score float Evaluating the accuracy of vehicle color type recognition 0.0000…1.0000
colors Array containing information about the color of the vehicle and an estimate of color recognition accuracy -
vehicle_color string Vehicle color red, orange, yellow, green, light_blue, blue, purple_or_pink, black, white, brown, grey_or_silver, beige
vehicle_color_score float Assessment of accuracy recognition of the vehicle color 0.0000…1.0000
execution_time int Execution time in milliseconds -

The classifier is able to recognize up to two vehicle colors (main and additional), in case the vehicle coloring type is not mono and the recognition accuracy score of the additional vehicle color is higher than 0.5.

An example of an input image (Figure 5).

Input image example for the detailed_vehicle_color classifier
Figure 5. Input image example for the detailed_vehicle_color classifier

Response example:

{
    "classifier": "detailed_vehicle_color",
    "color_type": "mono",
    "color_type_score": 0.9896,
    "colors": [
        {
            "vehicle_color": "white",
            "vehicle_color_score": 0.9986
        }
    ],
    "execution_time": 87
}

«vehicle_type»#

The classifier recognizes the vehicle type. Returns in the response the type of vehicle and assessment of accuracy recognition (Table 7).

The classification of the vehicle occurs in accordance with GOST R 52051-2003. A description of each type of vehicle is given in Table 6.

Table 6. Description of supported vehicle types

Vehicle type Description Standard type Example
A_light Vehicles that do not require a special driving license - Bicycles, mopeds, gyroscooters, scooters, electric scooters, etc.
А_heavy Motor vehicles requiring a special license to drive L1 – L7 Motorcycles, tricycles, ATVs, etc.
B_light Passenger vehicles used for the carriage of passengers and having, in addition to the driver's seat, no more than eight seats M1 Sedans, SUVs, minivans, minibuses, etc., including pickups with shell
B_heavy Passenger vehicles used for the transport of goods N1 Pickups without a shell, trucks weighing less than 3.5. t, campers
C_light Trucks with a maximum weight of 3.5 to 12 tons N2 Trucks except semi-trailers trucks
C_heavy Trucks with a maximum weight of 3.5 to 12 tons N3 Trucks except semi-trailers trucks
D_light Vehicles for the carriage of passengers, having, in addition to the driver's seat, more than eight seats, the maximum mass of which does not exceed 5 tons M2 Buses
D_heavy Vehicles for the carriage of passengers, having, in addition to the driver's seat, more than eight seats, the maximum mass more 5 tons M3 Buses and trolleybuses, except articulated vehicles
D_long Articulated D_heavy vehicles M3 Articulated buses and trolleybuses
E_light Semi-trailers trucks without trailers with a maximum weight more than 3.5 tons N2, N3 Semi-trailers trucks without trailers
E_heavy Semi-trailers trucks with trailer weighing more than 0.75 tons Vehicle: N2, N3 Semi-trailers trucks and road trains
Trailer: O2 – O4
P_light Trailers with a maximum mass not exceeding 0.75 tons O1, O2 Trailers used by passenger vehicles
P_heavy Trailers with a maximum mass of more than 0.75 tons O2 – O4 Trailers used by trucks
Other Other vehicles Т, G, without type Agricultural vehicles, off-road vehicles, trams, etc.

Table 7. Fields description of the vehicle_type classifier

Field name Type Description Possible values
classifier string Name of classifier vehicle_type
ts_type_ai string Vehicle type А_light, А_heavy, В_light, B_heavy, С_light, С_heavy, D_light, D_heavy, D_long, E_light, E_heavy, P_light, P_heavy, Other
ts_type_ai_score float Assessment of the accuracy of determining the vehicle type 0.0000…1.0000

An example of an input image (Figure 6).

Input image example for the vehicle_type classifier
Figure 6. Input image example for the vehicle_type classifier

Response example:

{
    "classifier": "vehicle_type",
    "ts_type_ai": "E_light",
    "ts_type_ai_score": 0.9997
}

«vehicle_emergency_type» and «vehicle_emergency_type_v3»#

The classifier recognizes the type of emergency service. Returns in response the emergency number and assessment of accuracy recognition (Table 8).

The classifier supports recognition emergency vehicle types, the color schemes of which correspond to GOST R 50574-2019.

Table 8. Fields description of the vehicle_emergency_type_v3 classifier

Field name Type Description Possible values
classifier string Name of classifier vehicle_emergency_type_v3
execution_time int Execution time in milliseconds -
ts_type_ai string Emergency transport category 01 – Fire department
02 – Police
03 – Ambulance
112 – Emergency
not_emergency – passenger, military vehicle etc.
ts_type_ai_score float Assessment of accuracy recognition 0.0000…1.0000

An example of an input image (Figure 7).

Input image example for the vehicle_emergency_type_v3 classifier
Figure 7. Input image example for the vehicle_emergency_type_v3 classifier

Response example:

{
    "classifier": "vehicle_emergency_type_v3",
    "ts_type_ai": "01",
    "ts_type_ai_score": 1
}

«public_transport_type»#

The classifier recognizes the type of public transport.

Returns in response the type of public transport and recognition accuracy score (Table 9).

Taxi is related to public transport only if its color schemes correspond to GOST R 58287-2018. Carsharing is related to public transport only if its color schemes correspond to the order of the Moscow Department of Transport N 61-02-283/5.

Table 9. Fields description of the public_transport_type classifier

Field name Type Description Possible values
classifier string Name of classifier public_transport_type
ts_type_ai string Public transport category - route_transport
- taxi
- carshering
- other
ts_type_ai_score float Assessment of accuracy recognition 0.0000…1.0000

An example of an input image (Figure 8).

Input image example for the public_transport_type classifier
Figure 8. Input image example for the public_transport_type classifier

Response example:

    {
      "classifier": "public_transport_type",
      "public_type": "taxi",
      "public_type_score": 0.9999
    }

«special_transport_type»#

The classifier recognizes the type of special transport.

Returns in response the type of special transport and recognition accuracy score (Table 10).

Table 10. Fields description of the special_transport_type classifier

Field name Type Description Possible values
classifier string Name of classifier special_transport_type
ts_type_ai string Special transport category - forklift
- sweeper
- paver
- concrete_mixer
- bulldozer
- grader
- truck
- roller
- garbage_truck
- sprinkler_truck
- other_special
- dump_truck
- tractor
- excavator
- other_non_special
ts_type_ai_score float Assessment of accuracy recognition 0.0000…1.0000

An example of an input image (Figure 9).

Input image example for the special_transport_type classifier
Figure 9. Input image example for the special_transport_type classifier

Response example:

    {
      "classifier": "special_transport_type",
      "special_type": "garbage_truck",
      "special_type_score": 0.9999
  }

«vehicle_axles»#

The classifier recognizes the vehicle axles: their coordinates and amount. The recognition accuracy is also determined for each axle and aggregated for all detections (Table 11).

Table 11. Fields description of the vehicle_axles classifier

Field name Type Description Possible values
classifier string Name of classifier vehicle_axles
aggregatedScore float General detection accuracy estimation 0…1
detections array An array containing the coordinates and size of the detections of each axle in the image, as well as an estimate of the accuracy of the axle’s detection -
height int Axle BBox height (in px) 0…1080
score float Axle detection accuracy estimation 0.0000…1.0000
width int Axle BBox width (in px) 0…1920
x int Horizontal coordinate of the upper left corner of the BBox 0…1920
y int Vertical coordinate of the upper left corner of the BBox 0…1080
numberOfWheelAxles int Number of detected axles 1…n

An example of an input image (Figure 10).

Input image example for the vehicle_axles classifier
Figure 10. Input image example for the vehicle_axles classifier

Response example:

{
    "results": [
        {
            "aggregatedScore": 0.8943796157836914,
            "classifier": "vehicle_axles",
            "detections": [
                {
                    "height": 119.57168579101563,
                    "score": 0.917134165763855,
                    "width": 109.78546142578125,
                    "x": 180.5765380859375,
                    "y": 385.35791015625
                },
                {
                    "height": 93.49630737304688,
                    "score": 0.8918288946151733,
                    "width": 66.70538330078125,
                    "x": 565.5817260742188,
                    "y": 359.1695861816406
                },
                {
                    "height": 91.6329345703125,
                    "score": 0.8791476488113403,
                    "width": 84.33480834960938,
                    "x": 477.0045471191406,
                    "y": 372.5871276855469
                }
            ],
            "numberOfWheelAxles": 3
        }
    ]
}

«vehicle_descriptor_v2»#

Classifier retrieves vehicles descriptor.

The descriptor is a composite vector of vehicle photo image features. Image is encoded in Base64 format. The descriptor is needed for comparison and search of the vehicle. The classifier fields are described in the Table 12.

A description of the process of searching for a vehicle by image is given in «CARS Analytics. User Manual».

Table 12. Fields description of the vehicle_descriptor_v2 classifier

Field name Type Description Possible values
classifier string Name of classifier vehicle_descriptor_v2
execution_time int Execution time in milliseconds -
vehicle_descriptor string Vehicle descriptor AACAvQ...

The descriptor can be up to several thousand characters long.

An example of an input image (Figure 11).

Input image example for the vehicle_descriptor_v2 classifier
Figure 11. Input image example for the vehicle_descriptor_v2 classifier

Response example:

        {
            "classifier": "vehicle_descriptor_v2",
            "execution_time": 23,
            "vehicle_descriptor": "AACAvQAAALwAAAA9..."
        }

«vehicle_tracks_reid_descriptor»#

The classifier is required to detect a break in the vehicle track and allows you to continue running the old track instead of creating a new one.

Classifiers retrieves vehicles descriptor. The descriptor is a composite vector of vehicle photo image features. Image is encoded in Base64 format. The descriptor is needed for comparison and search of the vehicle. The classifier fields are described in the Table 13.

A description of the process of searching for a vehicle by image is given in «CARS Analytics. User Manual».

The «vehicle_tracks_reid_descriptor» classifier is faster than «vehicle_descriptor_v2», but is inferior in accuracy.

Table 13. Fields description of the vehicle_tracks_reid_descriptor classifier

Field name Type Description Possible values
classifier string Name of classifier vehicle_tracks_reid_descriptor
execution_time int Execution time in milliseconds -
vehicle_descriptor string Vehicle descriptor AACAvQ...

The descriptor can be up to several thousand characters long.

An example of an input image (Figure 12).

Input image example for the vehicle_tracks_reid_descriptor classifier
Figure 12. Input image example for the vehicle_tracks_reid_descriptor classifier

Response example:

        {
            "classifier": "vehicle_tracks_reid_descriptor",
            "execution_time": 22,
            "vehicle_descriptor": "AACAvQAAALwAAAA9..."
        }

License plate classifiers#

The section describes the LPs classifiers and their fields available in the CARS API.

Operating logic of LP recognition networks#

Schematic of the operating logic of LP recognition networks (Figure 13).

Operating logic of LP recognition networks
Figure 13. Operating logic of LP recognition networks

A description of the scheme is shown in Table 19.

Table 19. Description of the operating logic of LP recognition networks

Step Description
0 The CARS API receives a frame containing a LP number
1 The LP country recognition classifier «grz_all_countries» is launched
2 The country of affiliation of the LP is determined
3 If the country of affiliation is NOT defined, then the classifier «eu_cis_recognition_v2» is launched
4 If the country of affiliation is determined, then the corresponding classifier from Table 20 is launched

Table 20. Correspondence of classifiers and countries of LP affiliation:

Classifier Country of LP affiliation
rus_plate_recognition_v2 Russian Federation
rus_plate_recognition_v3 Russia, Abkhazia, South Ossetia, DPR and LPR
eu_cis_recognition_v2 CIS and EU (Ukraine, Kazakhstan, Belarus, Georgia, Moldova, Armenia, Azerbaijan, Tajikistan, Turkmenistan, Kyrgyzstan, Uzbekistan, Andorra, Albania, Austria, Bosnia and Herzegovina, Belgium, Bulgaria, Switzerland, Cyprus, Czech Republic, Germany, Denmark, Estonia, Spain, Finland, France, Greece, Croatia, Hungary, Ireland, Iran, Israel, Italy, Liechtenstein, Lithuania, Luxembourg, Latvia, Monaco, Montenegro, North Macedonia, Malta, Netherlands, Norway, Poland, Transnistria, Portugal, Romania, Serbia, Sweden, Slovenia, Slovakia, San Marino, Turkey, Vatican City, Kosovo)
grz_country_recognition_v4, grz_all_countries Russia, Abkhazia, DPR, LPR, South Ossetia, Belarus, Kazakhstan, Ukraine, Azerbaijan, Armenia, Georgia, Kyrgyzstan, Moldova, Tajikistan, Turkmenistan, Uzbekistan, Turkey, Andorra, Albania, Austria, Bosnia and Herzegovina, Belgium, Bulgaria, Switzerland, Cyprus, Czech Republic, Germany, Denmark, Estonia, Spain, Finland, France, Greece, Croatia, Hungary, Ireland, Italy, Liechtenstein, Lithuania, Luxembourg, Latvia, Monaco, Montenegro, North Macedonia, Netherlands, Norway, Poland, Portugal, Romania, Serbia, Sweden, Slovenia, Slovakia, Malta, San Marino, Vatican City, Transnistria, Iran, Kosovo, Israel, Palestine, United Kingdom, Singapore, Hong Kong, Macau, India, Sri Lanka, Thailand, Vietnam, Malaysia, Indonesia, Philippines, Taiwan, Pakistan, China, Mongolia, UAE, Bahrain, Saudi Arabia, Oman, Qatar, Kuwait, Iran, Bangladesh, Japan, South Korea, Canada, USA, Mexico, Brazil
emirate_recognition_v1 UAE
grz_uk_asia_recognition_v1 India, Pakistan, Vietnam, Indonesia, Malaysia, Taiwan, Philippines, Sri Lanka, Macau, Singapore, Hong Kong and the UK
chn_plate_recognition_v2 China
mng_recognition_v1 Mongolia
america_plate_recognition_v1 USA, Canada, Mexico and Brazil

«license_plate_ags_v1»#

The classifier «license_plate_ags_v1» evaluates the quality of the LP image. It is used to optimize selection of the best frame. Classifier fields are described in Table 13.

To filter LPs images by quality, you need to set upper and lower score threshold values. See more details in «CARS Analytics. User Manual», Table 42. Description of camera parameters with source type RTSP Stream and Video file.

Table 13. Fields description of license_plate_ags_v1 classifier

Field name Type Description Possible values
classifier string Name of classifier license_plate_ags_v1
execution_time int Execution time in milliseconds -
score float Estimation of LPs image quality 0.0000…1.0000

An example of an input image (Figure 14).

Input image example for license_plate_ags_v1 classifier
Figure 14. Input image example for license_plate_ags_v1 classifier

Response example:

        {
            "classifier": "license_plate_ags_v1",
            "score": 0.9963796734809875,
        }

«rus_plate_recognition_v2» and «rus_plate_recognition_v3»#

Classifiers recognizes LP symbols, evaluate the recognition accuracy of each symbol and evaluate the recognition accuracy for the whole LP. Only available for Russian LPs images.

Classifier «rus_plate_recognition_v2» is available only for images of Russian license plates.

Classifier «rus_plate_recognition_v3» is available for images of license plates of Russia, Abkhazia, South Ossetia, DPR and LPR.

Classifier recognizes LP features:

  • LP type;
  • region of registration.

Classifier estimates the accuracy of recognizing these parameters (Table 13).

Classifiers support recognition of the LP symbols given in Appendix 3.

Table 13. Fields description of rus_plate_recognition_v2 classifier

Field name Type Description Possible values
classifier string Name of classifier rus_plate_recognition_v2
features array List of LP features -
score float Assessment of the recognition accuracy of each feature 0.0000…1.0000
type string Type of feature - rus_spec_type – LP form
- rus_region_number – Digits of LP region of registration
value string The value of LP feature - regular
- police
- diplomatic
- military
- machines&moto
- trailer
- transit
- taxi
regno_ai_score float Assessment of the recognition accuracy of the license plate 0.0000…1.0000
symbol_scores float Assessment of the recognition accuracy of each symbol on LP 0.0000…1.0000
symbols string Array of recognized LP symbols 0…9; A, B, C, E…

Полный список возможных значений поля symbols для классификатора rus_plate_recognition_v2 представлен в файле rus_plate_recognition_v1.conf, для классификатора rus_plate_recognition_v3 в файле rus_plate_recognition_v2.conf, расположенных в директории поставки /data.

Full list of possible values of the symbols field for the rus_plate_recognition_v2 classifier is presented in the file rus_plate_recognition_v1.conf, for the rus_plate_recognition_v3 classifier in the file rus_plate_recognition_v2.conf located in the /data distribution directory.

An example of an input image (Figure 15).

Input image example for rus_plate_recognition_v2 classifier
Figure 15. Input image example for rus_plate_recognition_v2 classifier

Response example:

{
            "classifier": " rus_plate_recognition_v2",
            "features": [
                {
                    "score": 0.9963796734809875,
                    "type": "rus_spec_type",
                    "value": "regular"
                },
                {
                    "score": 0.9785565137863159,
                    "type": "rus_region_number",
                    "value": "163"
                }
            ],
            "regno_ai_score": 0.9357050657272339,
            "symbol_scores": [
                0.992807149887085,
                0.9970425963401794,
                0.9916096329689026, 
                    0.9913685917854309,
                0.98829585313797,
                0.9942867159843445,
                0.9931392073631287,
                0.998256504535675,
                0.9870374202728271
            ],
            "symbols": [
                "У",
                "0",
                "8",
                "2",
                "Н",
                "Н",
                "1",
                "6",
                "3"
            ]
        }

«grz_country_recognition» and «grz_country_recognition_v4»#

The classifiers recognizes the country of registration of the LP and assessment of accuracy recognition (Table 14).

Table 14. Fields description of the grz_country_recognition_v4 classifier

Field name Type Description Possible values
classifier string Name of classifier grz_country_recognition_v4
country string Recognition result - RUS – Russian Federation (RF)
- RUS_SPEC – RF special transport (police, diplomatic LP, military LP)
- RUS_SQUARE – RF square LP (288x205 or 245x185 mm)
- UKR – Ukraine
- BEL – Republic of Belarus
- KZH – Republic of Kazakhstan
- etc
country_score float Assessment of accuracy recognition of the country 0.0000…1.0000

See full list of possible value for country field in Appendix 3.

An example of an input image (Figure 16).

Input image example for the grz_country_recognition_v4 classifier
Figure 16. Input image example for the grz_country_recognition_v4 classifier

Response example:

{
    "classifier": "grz_country_recognition_v4",
    "country": "RUS",
    "country_score": 1,
    "execution_time": 141
}

«grz_all_countries»#

The classifier recognizes the country of registration of the LP, symbols of the LP and assessment of accuracy recognition of each symbols.

The list of LP’s features:

  • Type of special LP format (military, civilian, square or diplomatic);
  • Region of LP’s registration.

The classifier supports recognition of the LP’s countries and symbols given in Appendix 3.

The description of this classifier’s data is given in Table 15.

Table 15. Fields description of the grz_all_countries classifier

Field name Type Description Possible values
classifier string Name of classifier. grz_all_countries
country_score float Assessment of accuracy recognition. 0.0000…1.0000
country string Recognition result. - RUS – Russian Federation (RF)
- RUS_SPEC – RF special transport (police, diplomatic LP, military LP)
- RUS_SQUARE – RF square LP (288x205 or 245x185 mm)
- UKR – Ukraine
- BEL – Republic of Belarus
- KZH – Republic of Kazakhstan
- etc
scores float An array displaying the assessment of the recognition accuracy of each license plate symbol 0.0000…1.0000
features array List of LP features -
score float Assessment of the recognition accuracy of each features 0.0000…1.0000
type string Feature type - rus_spec_type – LP form
- rus_region_number – Digits of LP region of registration
value string Value of feature - regular
- police
- diplomatic
- military
- machines&moto
- trailer
- transit
- taxi
symbols string Array of recognized LP. Recognizable symbols include series, registration number and registration region code. 0…9; A, B, C, E…
length_scores float An array displaying the number of license plates. There are 11 elements in the array: 0.0000…1.0000
- The first element of the array corresponds to the license plate with 0 characters.
- The eleventh element – 10 characters.
Each element contains a number that shows the probability of the presence in the license plate of exactly this number of characters. If 10 array elements have the highest value, then the system has identified 9 characters in the license plate. The sum of the values of all 11 elements is 1.
regno_ai_score float Assessment of the recognition accuracy of the license plate 0.0000…1.0000

Full list of possible values for symbols field is given in eu_plate_recognition.conf file included in the /data directory of the CARS Installer distribution.

An example of an input image (Figure 17).

Input image example for the grz_all_countries classifier
Figure 17. Input image example for the grz_all_countries classifier

Response example:

{
    "classifier": "grz_all_countries",
    "country": "BEL",
    "country_score": 1,
    "regno_ai": {
        "length_scores": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0.9996,
            0.0003,
            0,
            0
        ],
        "scores": [
            0.9993,
            0.9998,
            0.9997,
            0.9999,
            0.9996,
            1,
            0.693
        ],
        "symbols": [
            "8",
            "3",
            "6",
            "7",
            "Р",
            "А",
            "9"
        ]
    },
    "regno_ai_score": 0.8915
}

«emirate_recognition_v1»#

The classifier returns the LP’s emirate, the accuracy of determining the emirate, the symbols of the LP and the evaluation of the accuracy of character recognition.

The classifier fields are described in Table 16.

The classifier supports recognition of the UAE LP types given in Appendix 3.

Table 16. Fields description of the emirate_recognition_v1 classifier

Field name Type Description Possible values
classifier string Name of classifier emirate_recognition_v1
features array List of LP features emirate_name
score float Assessment of the accuracy of determining the emirate 0.0000…1.0000
type string Feature type emirate_name
value string Recognition result DUBAI, ABU_DHABI, SHARJAH, KHAIMAN, QUWAIN, AJMAN, FUJAIRAH
regno_ai_score float General assessment of the accuracy of LP recognition 0.0000…1.0000
symbol_scores float Evaluation of the accuracy of recognition of each LP symbol 0.0000…1.0000
symbols string Array of recognized LP symbols. Symbols for recognition include: 0…9; A, B, C, E…
- series;
- LP symbols;
- region of registration code/name

An example of an input image (Figure 18).

Input image example for classifier emirate_recognition_v1
Figure 18. Input image example for classifier emirate_recognition_v1

Response example:

{
    "results": [
        {
            "classifier": "emirate_recognition_v1",
            "features": [
                {
                    "score": 0.999993085861206,
                    "type": "emirate_name",
                    "value": "SHARJAH"
                }
            ],
            "regno_ai_score": 0.9982012510299683,
            "symbol_scores": [
                0.9989792108535767,
                0.9998021721839905,
                0.999907374382019,
                0.9999147653579712,
                0.9996598958969116,
                0.9999368190765381
            ],
            "symbols": [
                "2",
                "1",
                "4",
                "5",
                "6",
                "7"
            ]
        }
    ]
}

«eu_cis_recognition_v2»#

The classifier recognizes LP symbols of the CIS and the European Union countries, evaluates the accuracy of recognition of each symbol and the entire LP.

The classifier fields are described in Table 18.

The classifier supports recognition of the CIS and EU LP types given in Appendix 3.

Table 18. Fields description of the eu_cis_recognition_v2 classifier

Field name Type Description Possible values
classifier string Name of classifier eu_cis_recognition_v2
length_scores float An array displaying the number of license plates. There are 11 elements in the array: 0.0000…1.0000
- The first element of the array corresponds to the license plate with 0 characters.
- The eleventh element – 10 characters.
Each element contains a number that shows the probability of the presence in the license plate of exactly this number of characters. If 10 array elements have the highest value, then the system has identified 9 characters in the license plate. The sum of the values of all 11 elements is 1
scores float An array displaying the assessment of the recognition accuracy of each license plate symbol 0.0000…1.0000
symbols string Array of recognized LP. Recognizable symbols include series, registration number and registration region code 0…9, A…Z
regno_ai_score float Assessment of the recognition accuracy of the LP 0.0000…1.0000

Full list of possible values for symbols field is given in eu_cis_recognition_v2.conf file included in the /data directory of the CARS Installer distribution.

An example of an input image (Figure 19).

Input image example for the eu_cis_recognition_v2 classifier
Figure 19. Input image example for the eu_cis_recognition_v2 classifier

Response example:

        {
    "results": [
        {
            "classifier": "eu_cis_recognition_v2",
            "regno_ai": {
                "length_scores": [
                    0.0,
                    0.0,
                    0.0,
                    0.0,
                    0.0,
                    0.0,
                    1.0,
                    0.0,
                    0.0,
                    0.0,
                    0.0
                ],
                "scores": [
                    0.9990543723106384,
                    0.9992122650146484,
                    0.9995478987693787,
                    0.9989604949951172,
                    0.9978286623954773,
                    0.9989246726036072
                ],
                "symbols": [
                    "S",
                    "5",
                    "7",
                    "8",
                    "I",
                    "L"
                ]
            },
            "regno_ai_score": 0.99354487657547
        }
    ]
}

«grz_uk_asia_recognition_v1»#

The classifier recognizes LP symbols of Asian countries, evaluates the recognition accuracy of each symbol and LP in general.

The classifier fields are described in Table 19.

The classifier supports recognition of the India, Pakistan, Vietnam, Indonesia, Malaysia, Taiwan, Philippines, Sri Lanka, Macau, Singapore, Hong Kong and the United Kingdom LP types given in Appendix 3.

Table 19. Fields description of the grz_uk_asia_recognition_v1 classifier

Field name Type Description Possible values
classifier string Name of classifier grz_uk_asia_recognition_v1
execution_time int Execution time in milliseconds -
length_scores float An array displaying the number of license plates. There are 11 elements in the array: 0.0000…1.0000
- The first element of the array corresponds to the license plate with 0 characters.
- The eleventh element – 10 characters.
Each element contains a number that shows the probability of the presence in the license plate of exactly this number of characters. If 10 array elements have the highest value, then the system has identified 9 characters in the license plate. The sum of the values of all 11 elements is 1
scores float An array displaying the assessment of the recognition accuracy of each license plate symbol 0.0000…1.0000
symbols string Array of recognized LP. Recognizable symbols include series, registration number and registration region code 0…9; A-Z
regno_ai_score float Assessment of the recognition accuracy of the LP 0.0000…1.0000

Full list of possible values for symbols field is given in grz_uk_asia_recognition_v1.conf file included in the /data directory of the CARS Installer distribution.

An example of an input image (Figure 20).

Input image example for the grz_uk_asia_recognition_v1 classifier
Figure 20. Input image example for the grz_uk_asia_recognition_v1 classifier

Response example:

{
    "classifier": "grz_uk_asia_recognition_v1",
    "execution_time": 55,
    "regno_ai": {
        "length_scores": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            1,
            0,
            0
        ],
        "scores": [
            0.9997,
            0.9975,
            0.9977,
            0.9949,
            0.9984,
            0.9985,
            0.9986,
            0.9878
        ],
        "symbols": [
            "В",
            "1",
            "6",
            "5",
            "4",
            "S",
            "S",
            "Т"
        ]
    },
    "regno_ai_score": 0.9734
}

«chn_plate_recognition_v2»#

The classifier recognizes LP symbols of the China, evaluates the recognition accuracy of each symbol and LP in general.

The classifiers fields are described in Table 20 and Table 21.

The classifier supports recognition of the China LP types given in Appendix 3.

Table 21. Fields description of the chn_plate_recognition_v2 classifier

Field name Type Description Possible values
classifier string Name of classifier chn_plate_recognition_v2
execution_time int Execution time in milliseconds -
features array List of LP features -
score float Assessment of the recognition accuracy of each feature 0.0000…1.0000
type string Type of feature - spec_type – LP form
value string The value of LP feature - regular
- large&moto – motorcycles, trucks, buses;
- electric – electric cars;
- cross-boarder – numbers for crossing the border with Macau and Hong Kong;
- trailer;
- temporary – transit;
- police;
- training.
regno_ai_score float Assessment of the recognition accuracy of the license plate 0.0000…1.0000
symbol_scores float Assessment of the recognition accuracy of each symbol on LP 0.0000…1.0000
symbols string Array of recognized LP symbols 0…9; A, B, C, E…

An example of an input image (Figure 21).

Input image example for the chn_plate_recognition_v2 classifier
Figure 21. Input image example for the chn_plate_recognition_v2 classifier

Response example:

{
"classifier": "chn_plate_recognition_v2",
    "execution_time": 24,
    "features": [
        {
            "score": 0.8894,
            "type": "spec_type",
            "value": "regular"
        }
    ],
    "regno_ai_score": 0.4884,
    "symbol_scores": [
        0.8965,
        0.9137,
        0.901,
        0.901,
        0.9018,
        0.9009,
        0.904
    ],
    "symbols": [
        "吉",
        "Н",
        "А",
        "У",
        "4",
        "5",
        "7"
    ]
}

«mng_recognition_v1»#

The classifier recognizes LP symbols of the Mongolia, evaluates the recognition accuracy of each symbol and LP in general.

The classifier fields are described in Table 21.

The classifier supports recognition of the Mongolia LP types given in Appendix 3.

Table 21. Fields description of the mng_recognition_v1 classifier

Field name Type Description Possible values
classifier string Name of classifier mng_recognition_v1
execution_time int Execution time in milliseconds -
length_scores float An array displaying the number of license plates. There are 11 elements in the array: 0.0000…1.0000
- The first element of the array corresponds to the license plate with 0 characters.
- The eleventh element – 10 characters.
Each element contains a number that shows the probability of the presence in the license plate of exactly this number of characters. If 10 array elements have the highest value, then the system has identified 9 characters in the license plate. The sum of the values of all 11 elements is 1
scores float An array displaying the assessment of the recognition accuracy of each license plate symbol 0.0000…1.0000
symbols string Array of recognized LP. Recognizable symbols include series, registration number and registration region code -
regno_ai_score float Assessment of the recognition accuracy of the LP 0.0000…1.0000

An example of an input image (Figure 22).

Input image example for the mng_recognition_v1 classifier
Figure 22. Input image example for the mng_recognition_v1 classifier

Response example:

{
    "classifier": "mng_recognition_v1",
    "execution_time": 206,
    "regno_ai": {
        "length_scores": [
            0,
            0,
            0,
            0,
            0,
            0,
            1,
            0,
            0,
            0,
            0
        ],
        "scores": [
            0.9869,
            0.9909,
            0.9974,
            0.9981,
            0.9529,
            0.9952
        ],
        "symbols": [
            "1",
            "2",
            "3",
            "4",
            "Д",
            "К"
        ]
    },
    "regno_ai_score": 0.9231
}

«america_plate_recognition_v1»#

The classifier recognizes LP symbols of the USA, Canada, Mexico and Brazil, evaluates the recognition accuracy of each symbol and LP in general.

The classifier fields are described in Table 22.

Table 21. Fields description of the america_plate_recognition_v1 classifier

Field name Type Description Possible values
classifier string Name of classifier america_plate_recognition_v1
execution_time int Execution time in milliseconds -
length_scores float An array displaying the number of license plates. There are 11 elements in the array: 0.0000…1.0000
- The first element of the array corresponds to the license plate with 0 characters.
- The eleventh element – 10 characters.
Each element contains a number that shows the probability of the presence in the license plate of exactly this number of characters. If 10 array elements have the highest value, then the system has identified 9 characters in the license plate. The sum of the values of all 11 elements is 1
scores float An array displaying the assessment of the recognition accuracy of each license plate symbol 0.0000…1.0000
symbols string Array of recognized LP. Recognizable symbols include series, registration number and registration region code -
regno_ai_score float Assessment of the recognition accuracy of the LP 0.0000…1.0000

Full list of possible values for symbols field is given in america_plate_recognition_v1.conf file included in the /data directory of the CARS Installer distribution.

An example of an input image (Figure 23).

Input image example for the america_plate_recognition_v1 classifier
Figure 23. Input image example for the america_plate_recognition_v1 classifier

Response example:

{
    "classifier": "america_plate_recognition_v1",
    "execution_time": 190,
    "regno_ai": {
        "length_scores": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            1,
            0,
            0,
            0
        ],
        "scores": [
            0.9971,
            0.9943,
            0.9947,
            0.9997,
            0.999,
            0.9989,
            0.9992
        ],
        "symbols": [
            "К",
            "N",
            "М",
            "1",
            "9",
            "5",
            "4"
        ]
    },
    "regno_ai_score": 0.983
}

Classifier accuracy#

The accuracy of the classifiers was measured for several datasets. All data were obtained from various sources obtained under different conditions.

The accuracy values for recognition of vehicle and LP attributes by classifiers are given in Table 19.

Table 19. Data on the accuracy of classifiers

Classifier Number of images Accuracy (%)
Car_brand_model_v2 (brand) 213 000 98.65
Car_brand_model_v2 (model) 213 000 96.77
Vehicle_color 13 323 96.39
Vehicle_type 10 413 99.34
Vehicle_emergency_type 18 016 82.00
Public_transport_type 12 683 98.40
Special_transport_type 24 844 97.95
LP attributes classifiers 10 000 99.70