Because of many sci-fi movies and misconceptions, when we use the term Artificial Intelligence (AI) the first thing that people think about are robots that come to exterminate humanity or some kind of General AI that knows and can do everything. These are dangerous ideas that slow the adoption of AI in the organization as an incredible way to unleash creativity and to allow us to use our time and effort in those things that can make a real difference instead of wasting time doing repetitive tasks that could be easily automated.
Along with these fears and misconceptions, many organizations delay the AI adoption in their processes and products believing they are not ready for this technology yet because they do not have the technical skills nor a data science team that could take that work. And although this argument has been true for a long time (experts in areas such as machine learning, data analytics, deep learning, computer vision, and natural language processing are hard and expensive to hire) it is also true that things are changing, and tons of use cases can now be easily solved by using new paradigms in AI software development such as No-Code and AutoML solutions, allowing us to get fast and accurate results in minutes or hours, instead of days or weeks.
That said, I decided to create a new blog post series where I want to reinforce these ideas and hopefully convince and push you to start your journey in AI adoption within your organization. In order to achieve this goal, I will show different use cases and demonstrate how easy is to add smart capabilities to your processes and products using the power and simplicity of a No-Code AI solution like Cogniflow, a platform specifically designed for non-technical people who want to use the latest progress in the AI landscape to stay competitive in their industries.
For this first episode, I will tackle a common problem in Computer Vision known as Image Recognition and I will show you how you can apply these ideas for content moderation and filtering, a must to have functionality for any modern application these days.
As a real use case, I will use Momo's character detection. For those who have not to hear about this character before, Momo has been the protagonist of a dangerous virtual challenge that was popularized among young users of WhatsApp and generated alert in parents, being viral in social networks. Later, the deformed and unreal character burst, according to reports, in children's videos on the YouTube Kids platform, such as Peppa Pig, and in video games such as Fortnite.
So, given this problem, how could we automate the detection of this character in images and videos? Well, this is an easy and well-known problem in Computer Vision known as Image Recognition, and we can use Cogniflow AI to create a smart service able to detect this unwanted character just by providing some examples of how Momo looks like and how Momo does not look like. The following are some examples of the kind of data required to solve this problem.
Depending on the difficulty of the problem, in how many categories do we want our content to be categorized, and how similar are the examples of different categories to each other, is the amount of data that we will require to collect. For this particular example, we have collected 428 images for the positive class (images containing the Momo character) and 463 images for the negative class (images without Momo). A good practice for data collection is trying to get as many heterogeneous examples as possible. Also, for the negative class is important to not forget to include images that could be similar but do not belong to the positive category (like the examples above of movie scenes with weird faces).
Once we are ready and have the data examples, we can now use Cogniflow to automatically find the best solution to solve our problem. In order to do this, we just need to click the “Create new experiment” button at the top/right part in the default Experiments dashboard view.
After clicking the “Create a new experiment” button Cogniflow will ask you to specify the problem type you are trying to solve and since we are solving an image recognition problem task we just need to indicate “Image-based” type.
Now, we specify a name and an optional description for our experiment and continue.
Now, the most important part: upload the data that the platform will use to learn the underlying hidden patterns in the images to solve the problem. Just drag & drop a zip file with the images organized into folders as shown in Figure 4 (if you had more categories in your use case then just create one folder per category).
In the last step, if you are an expert user you can optionally modify the default experiment's configuration. If the default configuration is used, the platform will use the best candidate models for your experiment type and will also apply some “data augmentation” techniques to generate more data artificially during training by applying different transformations to the images (random flip, zoom, brightness, rotation, etc) and thus, getting new examples to improve the accuracy of the underlying vision models.
Congrats! You have completed all the required steps to create the experiment: you have defined your problem and provided the data. Nothing else is required, just wait until Cogniflow finds the best solution for your problem. Under the hood, the platform will train different state-of-the-art vision models and deploy the best one automatically in the cloud infrastructure so you can use it as a service later with new images to check whether an image contains the Momo character or not. All of this without programming a single line of code. And since training different computer vision models could take a while, Cogniflow does not expect you to stay waiting in front of the computer until the experiment is ready, just go and relax, once the experiment is ready you will receive an email notification as shown in Figure 7 with a summary of the results and a link to start using your new smart functionality immediately.
By clicking the “Go to experiment” button in the email’s body you will be redirected to the experiment page where you can check some advanced details about the trained model if you are an expert user or just jump to the test page where you can see your smart service in action by uploading new images directly from the web browser of your desktop computer or by taking a photo from your smart device.
As you can see in the examples above, the test page also provides the integration code for some of the most typical programming languages, so you just need to copy and paste this code snippet to consume this service from your application (please note that Cogniflow will generate a new ID for the newly deployed service that we have removed for security reasons from these screenshots).
And last but not least, although Cogniflow is focused on non-technical people it also can be used for technical experts to build quick prototypes, evaluate and compare different machine learning models and create proof of concepts in record time. So, if you are one of those guys who wants to know more about what is happening under the hood or if you want to know more about the quality of the different trained models, you can go to the metrics page where you can find some useful metrics that you can use to identify opportunities for improvement. Two of the main artifacts automatically generated by Cogniflow are the Classification report and the Confusion matrix as shown in Figure 11 and Figure 12 respectively.
In this post, we have covered the problem of image recognition and we have seen a step-by-step guide to train a computer vision model in Cogniflow without programming a single line of code! Despite being simple enough to be used by anyone, in particular by non-technical people, the platform is able to build a fast and accurate solution (97% of accuracy in this example). As we saw, the platform also allows the more advanced users to go deeper and configure the experiment’s options for training as well as uploading specific data for validating results. Metrics indicating the model’s performance are reported in a friendly UI trying to highlight those points that could be easily improved, for example by identifying categories that are performing poorly and could need extra data.
This use case that we have discussed today is just one of the many possibilities where AI can help. Because if you have not realized yet, AI has entered into our lives and it is present in almost everything, from the most obvious cases that you can imagine like recommendation engines suggesting the content or items that “the algorithm”believes that are going to like you (movies, music, news, books, products, friends, etc), to some less obvious cases like finding the best candidates matching for a job, the decision of whether to approve a bank loan or not, or identifying if your profile is likely to abandon a service (a.k.a customer churn), among others.
For this reason in many places is appearing the concept of "AI first”, making AI disrupting in every industry (it is said that AI is the fuel of the fourth industrial revolution!). And because of this, we strongly believe that everyone should be prepared to be part of this new era, and we really aim to democratize the access to AI for everyone in the world. We have two gold phrases that are in the heart of Cogniflow and summarizes our mission: “AI for everyone is possible” and “AI made easy” and we believe that the No-Code movement is a core piece in this puzzle to go deeper in this democratization and allow anyone (and in particular the non-technical people) to use AI in the daily work, in their products, in their processes and thus, helping to increase productivity and stay competitive in their industries, resulting in a better customer service, better user experiences and high quality and efficient services and products.
Before ending, I would like to highlight that I am not saying that engineers and data scientist are not going to be needed any more. There exists a lot of challenges to build better AI based solutions, to develop a more general kind of intelligence able to understand the world and create an useful representation and model of it (similar to how animals interacts and learn from their interactions with the world). There is a lot of work waiting to be done to improve efficiency of current AI models, to improve explainability, to simplify data collection requirements to train supervised models, to develop new unsupervised and self-supervised learning strategies, to detect and correct biases in existing datasets and models, to discuss ethics and philosophical issues that AI puts over the table, etc. These are just some examples where AI experts can bring new horizons and push even more the frontiers of the AI development and with this, also the discovery of what makes us different as human beings.
So, the good news is that there is room for everyone in this adoption, and for those who are new or do not have the expertise and skills, tools and platforms like Cogniflow are a great opportunity to access and use this disruptive and game changer technology.
And that’s all my friends! We have arrived to the end of this first episode 🙂 In upcoming posts, we will discuss more complex use cases in computer vision like object detection, image similarity, visual search, and more. Furthermore, we will share insights to leverage all kinds of information in your organization, not just images. Other common types of content in the daily work also include text, audio and tabular data, for this reason, we will be addressing problems related to speech and acoustic sound recognition, text and document categorization, entity extraction from documents, sentiment, and emotion analysis, predictive models for tabular data, question-answering systems, and more. So, if you have liked this post, stay tuned for the next episode soon. And of course, if you have any interesting idea to solve using AI we want to hear about it! Contact us and happy training!