With significant interests in copper, iron ore, nickel, and coal as well as being the world's largest producer of platinum, Anglo American needs little introduction. The British multinational mining company (based in both Johannesburg and London) has a long history of striving to improve both the safety and efficiency of their operations with innovative practices and technologies. One such innovation required enlisting the help of an experienced machine learning company, so DotModus was eager to assist.
Anglo American had a data problem, a data problem so concerning that, if unresolved, could potentially threaten the safety of their staff. Each Anglo American mine has a comprehensive health and safety program which tracks the risk associated with performing various tasks and jobs across the mine. Before a miner undertakes a task or operates a piece of machinery, they complete a safety checklist form and hand it in to their supervisor for approval.
On any given day, hundreds of safety checklists need to be collated and processed so that risks across the mine can be flagged before any work is allocated. If these checklists aren’t processed quickly enough, risks could go unnoticed, resulting in potentially life-threatening tasks being allocated to miners. To avoid delays, Anglo American decided to automate the process wherever possible and looked to Google and DotModus to build the solution, in concert with Integrove.
With Google Cloud, DotModus was able to build a machine learning powered document scanning solution that is less vulnerable to backlogs, delays and human error, and is not reliant on the availability of tablets or other electronic equipment in the field. The automated solution brings attention to risks sooner, streamlines the work allocation process and assists Anglo American with keeping their mine workers out of harm's way.
The solution makes use of custom processing running on Google’s Kubernetes Engine (including custom character recognition code), alongside Google Cloud’s Vision API to extract both handwritten and printed text from documents scanned in bulk. In this case, these documents are pre-generated safety checklists – complete with all the smudges and dirt you’d expect a sheet of white A4 paper to pick up in a coal or iron ore mine.
There are more than 60,000 different possible permutations of checklists that can be completed and scanned into the application. Therefore, to speed up the extraction process, the system is pretrained on blank versions of all possible checklists.
As each checklist passes through, the system identifies:
The extracted data is then processed, collated and presented into Anglo American’s broader cloud environment for use during their work allocation sessions.
The power and efficiency of the Google Cloud Platform is particularly evident on this project. A single instance serves Anglo American’s needs for the entire globe and scales to the usage in any timezone and geography.
Under the hood, celery workers are used to help manage and organise the passing and fulfilment of each scanning task. Kubernetes allows us to scale horizontally to any number of celery workers and ensure that the solution is running in as close to real-time as possible.
A Redis database is used for the task passing between the Python based Django Rest Framework API and the Celery workers. The converted digital text is presented to the user from the REST API in the Vue.js Single Page App UI, hosted on Google Cloud’s App Engine for correction and editing.
The result is a solution that is fast, reliable, scalable, highly available, and easy to monitor and manage.
Successful implementation and use of the application at multiple mines in South Africa has prompted a worldwide roll-out to 42 others sites globally.
The application has since been translated into a number of different languages and is being further implemented at Anglo American and De Beers mines in Botswana, Namibia, Zimbabwe, Chile, Brazil, Peru, Canada, and Australia.