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:
  1. Allow a user to upload an image 
  2. The uploaded image will be labeled and classified based on the image recognized 
  3. 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



What’s Next?

This small example serves to demonstrate the potential of harnessing AI in your apps and workflow.

Download the app and plugin for this demo, and get started with TensorFlow and Joget Workflow.

Comments

Popular Posts

Need for Speed: How We Optimized Performance in the Joget Workflow v6 Platform

Simplifying the Dev in DevOps: Build a Full App Without Coding in 30 Minutes

What Enterprise Apps Can You Create with Joget Workflow? Here's a List of Ideas

3 Common Problems with App Development (and How to Easily Fix Them with Joget v6)