Smart Engines is known as a software developer, but we also design hardware systems. In this article, we will tell you a story about how we managed to turn a simple plywood box with the camera to an industrial passport scanner, which was able to recognize the main double-page passport spread in fractions of a second, and extract the necessary data with high precision. The system quickly became popular in the hospitality industry, but let us start from the beginning.
Disclaimer: the main reason why we develop software AND hardware systems is that recognition software should often be used in conjunction with a specific data capture device. And even if your software is compatible with any computer, camera, scanner, smartphone, tablet, and document scanner (just like Smart IDReader), you still need a device to be able to demonstrate how the software works. Besides, having a hardware + software pack from the same developer is often better, as you can test it as many times as you want, hence the quality of the final product can be perfected (by the way, our software works more stably with the iOS devices, as compared to Android, because the number of iPhone models supported during a given period of time (meaning those that can be used) is limited (those that become obsolete get discontinued by Apple), and we can always test our software on them; as opposed to Android OS which is used in countless number of smartphone models from different brands, and for obvious reasons cannot have all of them in our testing facility. And finally, a hardware device is, in the end, something tangible, physical, something you can touch and smell (and who does not like the smell of brand new electronics?).
The story of a scanner
The idea of designing a passport scanning device came to us after we released our first software for recognition of documents “Smart IDReader”. This was exactly five years ago; and made us extremely proud: it could recognize the first page of a passport in fractions of a second on an average PC. But the hardware available at the time needed at least 5 seconds to process the data. There were some special scanning devices that could do it much faster, but their price was accordingly “special”, which was not our option – the market particularly appreciates good quality products when they are not too expensive. So we decided to make our own scanning device.
With a total budget of $100 we still wanted to splurge on a proper webcam since we were already pretty good at capturing data in the video stream. We found a camera, estimated the optics, installed the camera inside a box, one side of which was made of glass, and looked like a window. The ‘scanner’ worked like this: the first page of the passport would be placed on the glass, which allowed us to have a fixed distance between the camera and the document (the focal length could be adjusted), the lighting was the same each time (which is important, since oftentimes the recognition software might have a hard time detecting the fields in the document, in case there glares on it), and lastly – due to the fact that the passport was pressed against the glass, the passport’s spread always look like a single page, and did not have any geometrical distortions.
During the long and cold winter holidays of 2015, when everyone was enjoying themselves skiing or snowboarding, we got equipped with screwdrivers and wooden boards, and started working on our DIY scanner.
- The positioning of the camera and in relation to the LED illumination should be based on minimization of reflection from the glass;
- The LED illumination should just help the camera; the document areas should not be illuminated;
- The distance between the camera and the glass should be adjusted to obtain the document image in the highest possible resolution.
- Wooden panels 16 mm – $5.
- Glass 4 mm – $3.
- Accessories (screws + holders) – $6.
- LED lamps, batteries, wires – $7.
- Full HD webcam – $70.
Here’s how it worked
Straight after some successful testing, we realized that the empty space inside the box should be used as well, so we placed the computing module inside. The data captured from the passport could be accessed from various interfaces; the DIY scanner could even “pretend” it is a keyboard, and return the captured data in the typing style.
Our first autonomous passport scanner
From a handmade scanner to a real product
We decided to turn all this into a business. We protected our invention by applying for the registration of inventions and utility models. That was the first thing we did because having your intellectual property protected raises the value of your company (even if it is just a working prototype, or an idea, clearly described), and increases the trust of your future business partners. So we got two patents: for the utility model protection and the invention protection:
- Utility Model Patent No. 166038 “Automated workstation for controlling passport documents”.
- Patent for invention No. 2643130 “Automated workstation for control of passport documents”.
After that we decided to build our business model around two separate product lines: a “simple and affordable” passport scanner for the mass market, and “high-end” devices that perform autonomous calculations, to be used for complex cases. The products would not only differ in functional characteristics, but also in their design, production processes, and sales strategies.
Simple and affordable scanners
We hired some specialists who took over all the routine work on hardware development, certification, production and logistics. And do not even ask how much thermoplastic has been wasted before we managed to come up with a prototype that we would be able to produce in bulks. The scanner was well received by the hospitality industry for hotel check-ins, and access control.
A little advice: you can save money by selling hardware and software separately, because software is not subject to VAT, as opposed to the hardware scanner. However, in case of return of the software + hardware pack (hardware might break, for example), only the cost of the scanner can be refunded, which is disadvantageous for the buyer.
Initially, we were planning to outsource the manufacturing of the scanner to a serious Russian defense enterprise, however, due to bureaucratic reasons the plan did not work, so we had to take over the assembling, and order the components from abroad, which was quite challenging. Being software developers in the first place, we acquired so much knowledge non-related to our area of expertise, such as: the organization of the assembly line, the organization of testing of the final product, and system updates.
Our production got rolling. What happened next?
It took us two years to get production and sales of both classes of devices on track before they found their target audience. It felt good realizing that our invention helps companies solve problems related to ID recognition. Our ambition however is to see our scanner at all entrances, offices of financial organizations, and ticket selling kiosks, and we follow that chosen path.
Answers to popular questions and comments
- Since there are different fonts in the passport, and no complete databases of all full names, not to mention the issuing authorities, the document simply can’t be recognized perfectly.
Our favorite comment. Our document recognition software Smart IDReader does not need any database to accurately recognize omniphon handwriting; it knows how to find and classify documents in different lighting conditions, camera angles and is even able to verify the authenticity of the document.
- You need a high-quality camera and optics if you want good quality results. These are expensive, no one will spend their budgets on the scanning devices.
The quality of the photosensitive matrix and the lens should be certainly high, but the quality of the software is much more important. We have trained the system to recognize images shot on a $50 camera.
- What’s so special about your device? It is just a camera inside a drawer.
The optical system includes not only a specific camera, but also specific illumination, reflectors, working surface, which we chose after testing many different options, let alone choosing the positioning of all the listed elements. So having a nice camera and a good lens is clearly not enough: you can’t just randomly put the camera in a box and achieve good results. Feel free to prove us wrong if you can, of course.
- Every modern recognition software and such specific (as a document scanner) device driver works only on Windows. What about some open operating systems?
Smart IDReader supports a wide range of processor architectures and is compatible with a large number of OSs – even on Elbrus and Komdiv.
- Do you support any other documents apart from a Russian passport? Isn’t it impossible to get templates of passports of EVERY country in the world?
As for templates for other countries, we do not have access to every passport in the world of course – this would simply violate the law. But there are databases with samples (images) of passports of all countries. Is a publicly available image enough to design a system that can solve complex problems related to document recognition? Well, we did not need anything more to do that.