Mask RCNN for Non-Developers

Do you want to create your own custom object object recognition but don’t have knowledge of Machine Learning, Deep Learning and other ML skills ?

Well now it is easy with the help of Supervisely tool. You don’t need to know about Deep learning, Data Analysis and other techniques. In this blog i will show how you can create your own model.

Supervisely is a web platform where you can find everything you need to build Deep Learning solutions within a single environment. It is the leading platform for entire computer vision lifecycle: from image annotation to building custom neural networks

In this model i have used Mask RCNN model to identify ships in sea water from satellite images.

There are some requirements listed below:

Necessary requirements:

1. Make your own custom dataset and annotate using supervisely

2. Either create a new model or using existing model as transfer learning. In this blog i will be using transfer learning method for Mask RCNN

3. Some basic knowledge of Cloud Computing mainly knowing how to launch instances. I will be using AWS in this blog.

So here are the steps:

Step 1: Head over to Supervisely website and get register yourself.

Step 2: Create your Project and import data.

You can use drag and drop method to upload your image dataset.

Step 3: Use Supervisely to annotate all your images and give it a class name.

Step 4: Now you may have less images and in a object detection model training we need thousands of images.

So you don’t need to worry as Supervisely provide DTL. Data Transformation Language allows to automate complicated pipelines of data transformation. Different actions determined by DTL layers may be applied to images and annotations.

You can get my DTL code from here

Step 5: Add Neural Network. Here i have used Mask RCNN model.

Now run the model for training

You will get this message. Now head over to Cluster Page and add your cluster

Now these are the must requirements of your agent and copy the command.

Step 6: Head over to AWS and launch an instance. Use following configuration for best performance

Step 7: Use SSH and run the following bash command from Step 5. It will setup the agent automatically for you.

Step 8: Now again try to train and it will start the training process.

You can get logs, graph and other information during training of model. Model training will take considerable amount of time and you need to be patient.

Step 9: Now after model is trained upload your model

Step 10: Now you can use your model to test the images

Import some Validation images and use them for testing

Step 11: It will generate annotated images in your project. Below is an example of that.

So that’s pretty much all of it you have to do to create your own custom object detection model and there are lots of options to play around with Supervisely to create more effective model.