Javier Avila Nieto

HCI - Tika and Tensorflow Image Recognition

Blog Post created by Javier Avila Nieto Employee on Dec 18, 2018

HCI - Tika & Tensorflow Image Recognition


I would like to show you a demo of HCI and Machine Learning. Adding this module to HCI, it is able to identify objects in a image and add this information as metadata to the file.


Firstly, image recognition def: This is the ability of software to identify objects, places, people in images. Computers can use machine vision technologies and artificial intelligence software to achieve image recognition.


You can find further information about the components of this demo:

- TENSORFLOW - An open source machine learning library


- APACHE TIKA - This toolkit detects and extracts metadata and text from over a thousand different file types

Apache Tika – Apache Tika



Some examples:

ImageObject recognition
Resultado de imagen de flores


If you are interested in running a demo in your LAB just need a VM with internet connection and download the next components:

- HCI-OVF-EXAMPLE- - (In case that you don't have a single instance HCI deployed)

Hitachi Content Intelligence Downloads


- TensorFlow custom stage: I have created this custom stage to connect with Tika container, get the output as XML and save it as a field.




These are the steps to prepare the demo lab (this demo just works if you configure HCI as single instance, if you already have it, you can go to step 3:

1.- Setup and deploy the new HCI


2.- When the HCI system is working, open a shell prompt in the HCI VM.


3.- Download & run the Apache Tika docker image

cd /opt

git clone https://github.com/USCDataScience/tika-dockers.git && cd tika-dockers

docker build -f InceptionRestDockerfile -t uscdatascience/inception-rest-tika .


docker run -p 8764:8764 -it uscdatascience/inception-rest-tika


4.- Open HCI GUI & import the custom TensorFlow stage that I have created:


5.- Create a new pipeline and add the new stage:


Just need these two stages (TensorFlow stage does not need any additional configuration):


6.- Test your new pipeline:


I hope you find this post useful.

If you have any question or need some help with it don't hesitate to contact me.