Milestone LPR Tested

Published Mar 31, 2015 04:00 AM

How well does Milestone's LPR work?

Milestone's LPR supports off the shelf IP cameras, integrating license plate recognition with the Milestone Smart Client for live video, playback, and alarms.

We tested Milestone's LPR with three cameras including Avigilon's H3 integrated IR bullet, Bosch's Super Low Light Starlight 5MP, and Messoa's specialty license plate capture cam, the LPR606.

The 1 minute video excerpt below, from our 15 minutes of video inside, gives an overview of Milestone's LPR:

The report answers the following key questions:

  • How accurate was Milestone's LPR?
  • What accuracy variance existed across the three cameras tested - Avigilon, Bosch and Messoa?
  • What factors most contributed to missed plates and inaccurate recognition?
  • What setup issues / factors do you need to factor in?
  • What processing load / server impact should you expect?
  • What issues caused missed plates and improper recognition?
  • How does it compare to Genetec's AutoVu LPR?
  • Here are our key findings from this test:

    Overall Recognition Performance

    • Integrated IR cameras performed similarly, accurately capturing and recognizing ~95% of plates during the day and ~90% of plates at night with exposure set to 1/250 second (Messoa default).
    • Avigilon integrated IR camera was unable to capture plates using default 1/30s exposure due to overexposure and washout of license plates.
    • Non-IR cameras accurately recognized about 94% of plates during the day. At night, non-IR cameras properly recognized only ~14% of plates, as ~80% of passing plates were not picked up at all, with only 70% of those read recognized accurately.
    • Recognition accuracy was similar at various speeds, from ~15 to ~40 mph.
    • Read speed was fast using Milestone recommended settings, <1 second between vehicle passing and LPR event generation.

    Recognition Issues

    • The most common misread issues were mistaking characters (0 for O, 8 for B, etc.) and failing to read one or more character, typically first or last on the plate.
    • Plates were occasionally read multiple times on same vehicle, with at least one of these reads being correct.
    • Few reads of non-plate lettering such as Fedex, UPS, phone numbers, etc., only 2 total out of 531 total.
    • Non-IR cameras most often missed or misread plates due to light levels being too low or gain/digital noise levels being too high, both obscuring plate characters partially or fully.

    Server Impact

    • Low compression, low frame rate MJPEG streams recommended by Milestone specifications, using substantially more bandwidth/storage than H.264.
    • Processing of a single LPR camera using recommended settings increased CPU load minimally with no activity, but significantly with vehicles in the scene. Processing three cameras simultaneously resulted in further increase, up to ~25% with vehicles in scene in all cameras (on Dual Quad Core I7 2.4 GHz machine).
    • Increases in frame rate from 4 to 10 or higher introduced delays as the processing queue filled much faster, causing delay in event delivery and outright missed reads at worst.
    • Switching to H.264 introduced significant delays in LPR event display of 10-15 seconds
    • Increasing resolution from 720p to 1080p and 3MP introduced little to no increase in server load, nor processing delay.
    • JPEG stream must be recorded (on motion) to retain plate images. Separate H.264 stream may be recorded as well, but is not correlated to LPR events.


    Milestone XProtect LPR requires three licenses, with the following MSRP:

    • XProtect LPR base license: $300 USD MSRP (includes one plate library)
    • XProtect LPR channel license: $1,295 MSRP
    • XProtect LPR plate library: $645 MSRP

    One base license is required per server, with a channel license required for each camera. A plate library must be purchased to cover each state or country to be used with the system. For example, to read United Kingdom, French, and Swiss plates, three libraries are required (one included in base plus two additional).


    XProtect LPR provides high accuracy when setup guidelines are followed, with tight integration via the Milestone Smart Client, at a price point much lower than many dedicated LPR systems, such as Genetec AutoVu, though without the advanced license plate analytics and turnkey mobile setup of Genetec.

    However, users should beware of increased bandwidth/storage requirements of MJPEG, since the stream used for LPR processing must also be retained if plate images are to be saved. Also, beware of high PPF requirements which likely preclude LPR cameras from being used for general surveillance purposes.

    Finally, if high speed (>40 mph) recognition is a must, dedicated hardware/software platforms are likely a better choice.

    XProtect Client Use

    An LPR plugin must be added to each client machine to enable events. Events are shown in a special LPR pane, with reads listed directly next to live video. Clicking an event switches to playback mode in the individual pane. An LPR tab is also added, allowing users to more quickly review reads, search for specific plates (including partial matches), and create reports.

    This video provides an overview of LPR use in the XProtect client:

    Server Configuration

    The XProtect LPR server runs as a separate service, apart from the XProtect image and recording servers. Milestone recommends it be run on a dedicated machine and not the VMS server. In our tests, the LPR server increased CPU load by about 17% on average (dual quad-core Intel I7, 2.4 GHz), with little impact on memory usage.

    This video reviews basic configuration of the LPR server:

    Server Install Issues

    Installation of the LPR server, as well as XProtect Corporate had multiple issues. In some cases, installation failed without any error information. In others, installation of Microsoft IIS failed multiple times, and manual installation was not detected, despite being installed as per Milestone's prerequisites.

    These issues are exacerbated due to the size and length of the Milestone installation, which can easily take over half an hour during a proper install. Users should be prepared to burn extra time (hours, possibly) during installation to account for these errors.

    XProtect LPR Camera Configuration

    Adding an LPR camera to the server requires a short configuration process, capturing or loading screenshots of the field of view with license plates in the scene, and optional adjustment to a handful of settings such as processing framerate, number of plates in the scene, etc.

    The basic process is overviewed in the video below:

    In this in depth video we cover advanced parameters such as processing frame rate, number of plates in scene, processing time, and more:

    Milestone Camera Recommendations

    Milestone strongly recommends the following settings for LPR cameras:

    • 4 FPS
    • MJPEG, quality >80
    • Resolution "not too high"

    These settings are atypical, to say the least, since the vast majority of IP cameras installed use H.264, with MJPEG used only in special cases, very infrequently. 

    H.264 vs. MJPEG

    H.264 may be used for LPR cameras. However, it introduces significant processing delay, with the time between the car passing and the plate being processed increased from <1 second (using MJPEG) to 10-15 seconds.

    This delay resulted in recognition events becoming useless for retrieval, as the event was processed well after the actual event occurred. Because of this delay, clicking on an LPR event retrieves video after the car has already passed, seen below:


    Milestone recommends using 4 FPS for LPR processing. Note that this framerate is separate from live and recording framerate, which may be set separately or use other streams.

    Increasing framerate from the recommended 4 FPS for processing introduced significant processing delay, similar to using H.264, seen above, and did not improve recognition performance.


    Milestone does not give specific limits on resolution the server is capable of processing. Instead, they give PPF guidelines of 130 PPF minimum for US plates, and 180 PPF for Euro-style plates.

    These figures are actually based on a strange recommendation of 2.7 pixels per character "stroke" (line making up a character), which varies by plate size and style, but equate roughly to the 130/180 PPF numbers above.

    We tested camera resolutions from 720p up to 3MP and found no significant difference in processing load or delay.

    Most Common Recognition Issues

    These are the most common issues found in our testing:

    All Cameras: Mistaken/Missed Characters

    The most common issue we found in recognition was mistaken characters, such as B being mistaken for 8 or 0 mistaken for O. 

    Additionally, sometimes characters were simply not read, most commonly the first or last character of a license plate:

    All Cameras: Multiple Plate Reads

    XProtect LPR frequently read the same plate multiple times. In all cases, one of these reads was correct, though others may be incorrect, as seen below:

    Non-IR Cameras: Noise and Gain Issues

    The key issue which caused extremely poor recognition rates in non-IR cameras was high gain levels. In order to produce images in low light, large amounts of gain are applied, which increases digital noise, partially or fully obscuring the letters of the license plate. This caused complete misses and misreads in those which the camera did capture.

    In many (but not all, such as the Bosch NBN-80052 seen below) cameras, gain may be manually lowered, but this darkens images, potentially making them unusable without adding visible or IR illumination.

    Versions and Firmware Used

    Milestone XProtect Corporate 2014 9.0c was used with XProtect LPR 2.0a. Country module used was US, with no specific state modules used. Read and recognition statistics are taken from over 500 reads collected over multiple days of testing.

    Camera firmware versions were as follows:

Comments are shown for subscribers only. Login or Join