Search is a central component of eXo Platform. It allows users to quickly access any resource. So all the resources pushed to the platform are indexed and searchable, including wiki pages, forum discussions, Office documents, PDF documents… and now images.
Since images are binary files, the only searchable information are their filename and their metadata. This can make it hard to find them, especially if the filename is not meaningful and if the metadata is sparse.
Extracting meaningful information from the content of an image is not an easy task, and until recently it required advanced skills, time, and money to achieve good results. With the emergence of Artificial Intelligence, it is now widely available, easy to use, and within anybody’s reach. No need to be an AI specialist to run an image recognition process anymore: just send an image to the service, then receive a bunch of information about the image (for example, a list of labels describing the image).
There are a lot of image recognition solutions available today. The most popular are Google Vision API, Amazon Rekognition, and Microsoft Cognitive Video Service. They all provide services like labeling, unsafe content detection, and text recognition in images, among others. Such capabilities can improve the power of eXo Platform significantly and at a low cost. As a first integration, we developed an add-on that makes images searchable by their content. It uses the labeling feature of Google Vision API to automatically extract meaningful information from pictures uploaded in your eXo Platform instance, and indexes them for search.
The add-on is available in the catalog, so you can install it with the add-ons manager:
./addons install exo-image-recognition
Then refer to the add-on ReadMe for configuration details.
Beyond empowering search capabilities, the addition of this feature demonstrates how easy it is for eXo Platform to integrate this type of service to enhance our solution. More services and more powerful capabilities, such as Google Vision API, are now available on the market. Thanks to its flexibility and its set of APIs, eXo Platform can leverage all these services to propose valuable and innovative features for your users very quickly and easily.