Artificial Intelligence and Automation with TensorFlow and Joget Workflow
Artificial intelligence (AI) is the simulation of human intelligence processes by machines, especially computer systems. AI is a hot topic in technology today, with rapid advancements and increasing adoption in many areas e.g. smartphones, smarthomes and self-driving cars among others. AI and automation in business has tremendous potential, and will change the future of the workforce.
Introduction to TensorFlow
TensorFlow is an open source AI library for machine learning. Built by Google, TensorFlow is designed for implementing, training, testing and deploying deep learning neural networks.
Neural networks are used in a variety of applications, notably in classification problems such as speech and image recognition. The TensorFlow site provides a number of tutorials to get started.
Incorporate AI Image Recognition in Joget Workflow
As a low-code application platform for rapid application development and business automation, Joget Workflow allows you to extend functionality of the platform via a dynamic plugin architecture.
In this example, we will look at incorporating a trained TensorFlow neural network model into a Joget Workflow v6 app.
OVERVIEW OF THE DEMO
To illustrate the use of image recognition in an app, let’s design a simple Joget Workflow app:
- Allow a user to upload an image
- The uploaded image will be labeled and classified based on the image recognized
- The workflow process then routes to different activities depending on the image label
For demonstration purposes, let’s assume we are looking for images of lions, because lions are awesome!
DEVELOP AI IMAGE RECOGNITION PLUGIN
The TensorFlow project provides a sample model and Java code for labelling images.
We encapsulated it into a Joget Workflow process tool plugin that provides configuration options to select the file upload field, and determine where to store the results.
DESIGN APP FOR IMAGE RECOGNITION AND CLASSIFICATION
Using the Form Builder, a simple form is designed to upload a file.
The App Generator is then used to generate the full working UI.
Using the Process Builder, a simple process is designed to handle the activity routing based on the image classification upon form submission, as per the process diagram below.
The AI Label Image tool is mapped to the AI Label Image plugin developed earlier.
AI IMAGE RECOGNITION APP IN ACTION
Once the app is published, click on the “Upload Image” link to upload the image.
The trained neural network in the sample uses a pre-trained Inception model (http://arxiv.org/abs/1512.00567) that recognizes about a 1000 different image labels.
Uploading an image of a lion will route to the “Lion Activity”.
On the other hand, uploading a different type of image (such as the car below) will route to the Non-Lion Activity.
This small example serves to demonstrate the potential of harnessing AI in your apps and workflow.