Country modules
Country modules are libraries that the LPR server uses to detect license plates from each country, and, in larger countries, different states or regions. They typically include information about the allowed letters and digits, possible fonts, the layout of symbols on the plate, and any visible markings like stickers that might be present on the license plate.
The LPR server uses information from country modules to determine if the plate image is from the corresponding country or state. It also uses this information to construct the registration number according to local Department of Motor Vehicles (DMV) rules.
Using country modules
Your organization must choose which country modules to activate based on your use case. The LPR Server uses the activated country modules to detect the symbols on a plate. When the detection is complete, the LPR server returns an answer from the country module that can confirm the license plate's origin, and the accuracy of the symbol that has been read with the highest confidence.
Every country module categorizes recognitions with specific plate styles. Use these plate styles to more accurately define the type of vehicle, such as electric, military, or emergency vehicles .
Generic country modules
Some country modules are marked as "generic."
These modules do not thoroughly confirm whether the license plate is from a specific country or state. Instead, they read the symbols on the license plate and return them, regardless of the country or state of origin.
Generic country modules vary based on specific target areas. For example, the shapes and fonts used in North America differ significantly from those used in Europe. For this reason, some generic country modules are designed with upfront knowledge aimed at a specific region.
The LPR server does not use the outcome of generic country modules if there is an answer from a regular (non-generic) country module. This rule applies even if a generic country module provides a higher confidence level than a regular country module.
You can consider generic country modules as a fallback approach to providing at least some answers to the properties of a license plate.
A couple of general rules:
-
For identification, generic country modules generally start with X_, such as X_EU, X_USA, and X_AUS.
-
The output country or state is the identifier of the generic module that reads it (such as "X_EU" or "X_USA").
-
One exception is the Canadian CDN module: it reads any Canadian license plate but does not report the state of origin (always "CDN").
Generic country modules with some country/state identification
Some generic modules read plates from regions like Europe or the USA and try to guess the country or state of origin within that region.
These types of results typically have a lower confidence level but can help fulfill the region's project requirements for full LPR coverage.
The accuracy is lower than using regular country modules. However, when you combine the generic country modules with four or five regular country modules, they can provide a good solution for region-wide LPR accuracy.
These types of country modules usally have the same names as the generic country modules but without the X_ prefix.
For example, the EU country module works like the X_EU country module, but instead of always returning "X_EU" answers, the EU will give low-confidence country codes. Examples of generic country modules are EU, USA, and X_EE.
Even if a country is identified, the generic country module does not follow the same validation process as specific country modules. There might be slight differences in formatting and validation between the two modules.
Fallback X_XX
If the regular and generic country modules cannot read the plate, or if no generic country module is loaded, the LPR server will still try to provide a textual representation of the symbols on the plate. If it is successful, the symbols are returned as an X_XX answer with very low confidence (always lower than 50%).
You can use the X_XX answers for tasks like sloppy matching to blacklists or improving customer experience. Sloppy matching means matching license plate symbols to a list or database without requiring an exact match.
There is also an X_XX generic country module, which is no longer maintained. However, it is included in XProtect LPR for backward compatibility.
Other generic country modules
There are two "generic" country modules (indicated by the X_ prefix) that have been designed to read specific non-license plates:
-
X_DG, which reads square orange dangerous goods plaques.
-
X_BIC, which reads horizontally-oriented BIC-style container codes.
Disclaimer: The detection and identification of X_DG and X_BIC are less accurate than reading license plates.
The performance on LPR is highly dependent on factors such as camera position, camera angle, the condition of the plate material, and overall image quality.
With this disclaimer in mind, Milestone recommends using these modules only in controlled environments.
Code | Description | Module required | Country guessing | Primary region | Secondary regions | Deprecated |
---|---|---|---|---|---|---|
X_EU | Read EU letters and digits | yes | no | Europe | Africa, Asia | no |
X_USA | Read USA letters and digits | yes | no | North America | Latin America | no |
X_AUS | Read AUS letters and digits | yes | no | Oceania | none | no |
X_XX | Read any Western letters and digits | yes | no | World | none | yes |
X_NR | Read numbers | yes | no | Middle East | Other applications | no |
CDN | Read Canadian license plates | yes | no | Canada | North America | no |
EU | X_EU + country guessing | yes | yes | Europe | none | no |
USA | X_USA + state guessing | yes | yes | North America | none | no |
X_XX | Fallback from Intrada reading any symbols | no | no | World | none | no |
X_EE | Eastern Europe | yes | yes | AL, BIH, BY, MD, MK, MNE, RUS, RKS, SRB, VY | none | no |
Best practices for using country modules in XProtect LPR
Activating the right number of country modules is essential for accurate license plate recognition while maintaining system performance.
-
Activating too many modules can degrade performance, causing slow recognition or, in extreme cases, system failure.
-
Activating too few modules might result in missing license plates from relevant regions, leading to incomplete results.
- Recommendation: Use around five country modules.
- Warning: Avoid using more than ten country modules due to performance issues.
- Which country modules to use: Prioritize the country modules that are closest to your geographic area or most frequently seen in your region.
- When to use generic country modules: Use generic country modules for license plates that are not regularly seen in your area, such as those from uncommon countries or states in your region. These modules are also useful when only letters and country codes must be detected.
When you use a generic country module with guessing, make sure to select the Unknown check box in the Country Filter on the LPR tab in the XProtect Smart Client, otherwise you won't see any guessed results.
Example: A large country with multiple regions
In a large country with multiple regions, customers might need to recognize license plates from different areas. Some country modules can detect plate styles (types of license plates), while the generic country module only recognizes the number and region.
Customers in such countries often want to activate all available regional modules, which can lead to performance issues. The system processes data from module to module, increasing processing time. However, in most cases, registered license plates are primarily from the region where the system is activated.
Recommendation: Activate the module for your region plus the generic country module to ensure performance without unnecessary processing.
Example: Border regions with high traffic from neighboring countries
In border regions, vehicles frequently cross from multiple neighboring countries, requiring recognition of plates from various national systems.
Recommendation: Activate the country modules for the primary neighboring countries, and the broader regional modules that cover other commonly seen license plates.
Example: Urban areas with a mix of local and out-of-region vehicles
In a major city, most detected license plates typically belong to local vehicles, but a significant number can come from other regions due to tourism, commuting, or business travel.
Recommendation: Activate the country module for your city’s region plus a generic country module. If a specific neighboring region contributes a large volume of traffic, consider adding its module as well.
Example: An Industrial zones with frequent international traffic
An industrial zone near shipping ports or major highways sees a high volume of trucks and commercial vehicles from multiple regions or countries. These vehicles may have specialized or non-standard license plate formats.
Recommendation: Activate the country modules for the main regions where trucks and commercial vehicles originate. If vehicles come from a wide range of locations, use a combination of relevant country modules and the generic module to ensure broad coverage without overloading the system.