Form Recognizer response times averaging up to 9 secs.

Copper Contributor

I am using Form Recognizer, Custom models, single template to read handwriting from paper forms. I have chosen S0 tier and the best response time I am getting using the REST API call is around 5 secs (averaging between 6-9 secs) when an Azure function calls the Form recognizer service. Is it possible to get under 3 sec responses from the REST API? The paper forms can have around 160 elements (trained for 160 elements), but most forms have around 50 data elements.

4 Replies
That doesn't really sound reasonable unless the handwritten documents are being sent as something like scanned images. Then it might if they're being scanned at any decently hi DPI. - Thinking of it in these terms I'm not sure I see the point of an AI/ML via an API over the interwebz. Though, I supposed you'd get about the same response time trying to put them through OCR, if any proper response at all depending on how bad that handwriting is, but; perhaps better than hand transcribing (which is the point, to not).

I've been meaning to look into the Azure learning models but haven't yet. Is there an option to bring your model to you? Perhaps in Docker form? I really do think the internet is your issue here (as scanning images of text or even PDF and sending them off would only be really worth it if 1) you had decent scanning and scanning software, a compression engine too (?), 2) had very large batches, and 3) a solid and fast internet connection from you all the way to wherever your model is located.

Do you watch the network traffic to see where the bottleneck might be happening, and; what kind of data are you sending?

@Virile , thanks a lot for writing an elaborate response. I will try to address every observation you made.

- Yes, the handwritten forms use a printed template and are sent as scanned images. So, @I, will experiment if reducing the DPI reduces the response time.

- I was leaving out handwriting quality and accuracy right now from the discussion to focus on performance. But @I will try to see if there is any correlation by visual inspection.

- The duration mentioned is when the call is made from Azure function to Form Recognizer Service in the same location within Azure and doesn't include the time to get the image to the FR service. Docker is an option I can experiment with, but currently, I am not compelled to prioritize it over other action items, but it will be in my list. 

Thanks again for responding.

@tushargw, I don't think that Docker nor changing the DPI will help much in this instance. I say this because of your response stating the action you're performing is an Azure function to the form recognizer service itself. I wouldn't expect a large amount of latency in this instance, however; I do suppose a lower DPI could help a little. Hope to see you get your problem figured out. Perhaps customer service?

@Virile, I have already raise a ticket with MS Support and it is in progress. The following changes didn't change the response time
- Changing image size
- Reducing fields to be extracted (business need will not permit this anyways)
- Removing extra text from the form (to reduce recognition)
- I did not change the DPI but I have images of different DPIs and that didn't show any correlation.
A new factor that surfaced in my research is image color depth. From what I have read is that black and white images (not even grey shades) work the best. Though it is not possible to change every image to black and white, I intend to try reducing the color depth to 8-bit from 24-bit and check.
Also I tested against prebuilt-layout model and still got similar response time. So looks like it is not even model dependent.