The client needed to solve the problem of products detection and recognition on the product shelves in supermarkets. The client is a multinational company operating shelves revision in supermarkets in several countries.
Raw and undocumented framework for object recognition was backward engineered for the purposes of the current project and to be able to work on the Google Cloud. Difficulties of the Google Cloud platform was solved, biggest challenge was to reverse engineer dependencies on the Google side in order to make Cython part of the model to work on the cloud, as well as separate data part (put in cloud storage) from the learning model part.
The labeling framework for multiple purposes was built, using OpenCV. It allows doing a full cycle of creation, verification, testing of the training set of labelled images, each including about 200 objects.
Multicascade classification layer was introduced, to couple with multiobject classification tasks.
- TensorBox framework with inception v4 model for regression and classification problems.
- OpenCV for visualization of the results, a training set labeling tasks.
- Deployment to the Google ML Engine for the distributed training of the model.
- Cascade recognition model to be able to recognize dozens of brands and subbrands among products.
Ubuntu 14.4, Google ML Engine, Google Storage, Python 2.7, Tensorfow, Scipy, Cython, OpenCv-Python, Amazon S3, TensorBox, Requests