/ #Object detection #Automated machine learning 

Train an object detector without writing any code (step-by-step guide)

Can we train an object detector from scratch (no training data, no tools) without writing any code or knowing anything in machine learning? The answer is, yes. I am planning to guide you through such a process step-by-step in this blog post.

Let’s say, we would like to build a sheep detector, which can later be deployed in a mobile phone to track sheeps in a field and send you an alarm if sheeps go too far. We need to accomplish the following steps, in order to build such a detector:

  • collect sheep images
  • annotate sheeps in the images
  • install required tools for training an object detector
  • train an object detector on the annotated sheep images and deploy it

Ok, let’s get started.

Collecting images

Before starting to collect the sheep images, I would recommend to do a quick search in the Internet to find out, whether this kind of dataset already exists. You can first google it, then search it in kaggle. When I searched sheep images with bounding box annotations, I could not find anything. So I had to create one.

I searched sheep images in google and downloaded only the ones, which were good input for an object detector. Another more programatic ways would be scraping images from google or from tumblr using their own API. Since the purpose of this whole exercise was creating an object detector without coding, scraping images using coding was not an option.

Annotate sheeps in the images

There are many image annotation tools. I will list the most well-know ones:

I checked all of them but, in the end, I chose VoTT, because its interface seemed more modern to me and it supports active learning, which might be a great help if you can use it.

So I downloaded and installed VoTT. Please see the following demo for step-by-step guide of installing VoTT:

Then I started annotating sheeps in the downloaded images. You can check it in following demo:

Install required tools for training an object detector

Some years ago, a lot of people thought that having good machine learning knowledge and being good in coding was the only way to train machine learning models. Maybe it was the case that time. But it’s not true any more. There are machine learning platforms, which automate some or most of the steps, which are needed to train and deploy machine learning models. However most of those platforms are in the cloud and charge money for training custom models. But Intelec AI is free to download and train models with. So it’s time to download Intelec AI. Please check the following demo for more details:

Train an object detector and deploy it

Surprisingly, this is the easiest step, compared to data gathering and annotation. You can use Intelec AI to train an object detector, given a training dataset (annotated images, in this case).

First, you need to check, whether format of your dataset matches the required format of the respective trainer in Intelec AI. If it doesn’t match, you need to adapt your dataset. Then you can upload it to Intelec AI server. Please create a training, after that, and start it. When the progress shows “100%”, you can deploy it using the Deploy button. Please see the video demo of the training process here:

Summary

That’s it. You were able to train an object detector and then deploy it. Please let us know, if you have any questions about that.

Moreover, I uploaded the annotated sheep images to kaggle. You can check it out here.