Frequently Asked Questions (FAQ)

Why the benchmark application is faster than VideoParallel?

The VideoParallel application has many background threads to: read from the camera, draw the preview, draw the recognitions, render the UI elements… The CPU is a shared resource and all these background threads are fighting against each other for their share of the resource.

Why the image is 90% rotated?

When the device is on portrait the image from the camera is rotated 90% to match the screen size. I swear it’s not our fault :). We could rotate the image back -90% to have the image on the right orientation but this would increase the processing time and we prefer to let the end user decide what to do. Anyways, put the device on landscape and the image will have the right orientation.

Rotating an image by 90% is very easy, f: (x,y) -> (y, x)

Why does the detector fail to accurately detect far away or very small plates?

As explained in the documentation, the input layer will resize any image to a fixed 300x300x3 resolution and small or far away plates may become undetectable after such process.

You can enable pyramidal search feature (will add some delay to the detection pipeline) to fix such issue.

Could you explain what each field in the JSON result mean?
The fields in the JSON result are self explanatory except for warpedBox and confidences
  • warpedBox: represents a quadrilateral, the angles are not always square which means we cannot represent it using 2 points.
    Format: [LeftTop.x, LeftTop.y, RightTop.x, RightTop.y, RightBottom.x, RightBottom.y, LeftBottom.x, LeftBottom.y].

  • confidences: a 2+N float array. The first 2 entries are the confidence for the OCR result then the confidence for the plate detection. The next N entries represent the scores for each character in the OCR result.
    Format: [Plate text OCR score, Plate detection score, Char 0...N scores].