Data & AI

Glass type detection using Watson visual recognition

In my previous article I designed and implemented a simple Proof of Concept to offers a pattern recognition solutions for automatic quality control in production processes. The IBM Watson feature extraction and machine learning techniques are used to design classification systems for a variety of image-based inspection tasks.

In this second part of PoC I’ve used Watson visual recognition in wine glass production process. To goal is to identify the glass type produced by images and to increment meters associated to the productions.

Usually Customer uses mechanical devices to count the number of glasses produced for every glass type, the idea is to use the Watson visual recognition to identify the glass type. For this PoC a node-RED flow recognize a couple glass,  a sparkling glass or a Chianti glass.

Watson visual recognition service is different from classic pattern matching visual recognition, because to recognize a glass it is not necessary to compare an glass image too similar to the matching model,  the service is based on a machine learning, in training phase the service learns to recognize a glass class by very different type of images for that glass class, so a glass can be recognize although the image is very different from matching model.

For the sparkling glass I trained the machine learning with the following images, as you know the service learned about what is a sparkling glass from very different type of sparkling glasses:

sparkling glasses
sparkling glasses

For the coupe glass I trained the machine learning with the following images:

coupe glasses
coupe glasses

and for the chianti glass I trained the machine learning with the following images:

chianti glasses
chianti glasses

As for the previous scenario I grouped the images to define a single classifier, I prepared a zip with positive examples images and a zip with negative examples images. I used a service rest API to create the classifier and complete the training phase.

I build my POC with node-RED  to automate the following end-to-end scenario:

  • I simulated a visual inspection system for high-speed checking of wine glass production line
  • The images are uploaded on a cloud storage
  • A node-RED flow analyze periodically the uploaded images
  • A quality score is calculated by Watson visual recognition API
  • Maximo asset manager meters are updated with the piece produced, I created three meters associated to production line: coupe glass meter, sparkling glass meter and chianti glass meter
  • A web dashboard shows in real-time the number of glasses produced for every class

Here is my node RED flow:

wine glass type visual recognition - node red flow
wine glass type visual recognition – node red flow

The node-RED flows is based on the following logic sections:

  • nodes to fetch the image files from a cloud storage, I’m using google drive, where the image are uploaded from IoT devices attached to the production line
  • nodes to assemble and call the rest-API’s URL of Watson visual recognition service
  • nodes to send data to dtweet.io service, I’m using the freeboard web dashboard with a dtweet datasource
  • nodes to assemble and call the rest-API’s URL of Maximo meters update service

Here is the demo dashboard, currently my POC is up&running, every 10 seconds a glass is produced:

Here is my Maximo application with the real-time meters:

Maximo wine glass meters - number of pieces
Maximo wine glass meters – number of pieces

thanks to reading !

 

Related Articles

Back to top button