Mobile vision has discussed the building of an app that uses the rear facing camera to show the detected faces and also barcodes in front of you. From tracking barcodes to drawing rectangle around that indicates the value and approximate position and size, everything is discussed in this project. The complete project is available in the github samples along with codes.
This application is equipped not only equipped with barcode and face detectors, but also uses a Multi Detector to combine the barcode and face detectors and creates separate graphics for barcodes and faces. The Querying of the detector operational status and a Camera is setup for combined detection.
A Barcode Detector is created for tracking and by default, the barcode detector will look like in various types of barcode formats like CODABAR or CODE_39, CODE_93, CODE_128 and many other. Reducing the number of formats to detect will make the barcode detector faster in nature.
A Multi-Processor is created, thereafter, for Managing Detected Barcodes. This creates a portion of the detector processing pipeline. Hence when the barcode detector detects barcodes and creates a collection of barcode instances, a multi-processor instance keeps track of each barcode that is active. The processor uses a factory to create a new graphic tracker instance per barcode and as they are tracked across video frames, the multi-processor sends updates to the corresponding barcode tracker instances. Here, barcode updates are simply the position and size of the barcode within the video frame.
A face detector and multiprocessor is created in the same way as of Barcodes and then a factory is created to separate tracker instance for each face and hence a portion of the detector processing pipeline.
This portion of the pipeline adopts the same methodology to work as for barcodes. Firstly, the face detector detects faces and creates a collection of face instances. Then, a multi-processor instance keeps track of each face that is active and uses a factory to create a new graphic tracker instance per face. As faces are tracked across video frames, the multi-processor sends updates to the corresponding face tracker instances. In this case, face updates are simply the position and size of the face within the video frame. The only difference between them is, this could also include facial landmarks and smiling / eyes open classification obviously that barcodes can’t!
The process that involves combining the barcode and face detectors via a multi-processor and querying the detector operational status, setting up of camera for combined detection and creating separate graphics for barcodes and faces are mentioned separately with the techniques involved. It is available on the website of mobile vision along with codes and programming.
Filed Under: Reviews