-
Notifications
You must be signed in to change notification settings - Fork 1
Training models
Since we have now discussed the solution approach, the next step would be to build and train a model for our use case. As discussed earlier, we will choose EfficientDet-d0 for detection and UNET for segmentation. We will use TensorFlow as the Deep Learning framework.
Both models has been trained on PaddlePaddle's meter dataset, you can access them from here:
We used EfficientDet from Tensorflow's model garden. It is an open-source project that provides all the tools required to build and train a model from scratch in TensorFlow. You can choose from a variety of model architectures available on TF's model zoo.
You can follow training code and steps here.
To train on your custom data all you need to do is to convert your data into supportable format ie. a CSV file with columns 'filename','width','height','class','xmin','ymin','xmax','ymax'
in same sequence. Rest of the code and steps remains same as per the above mentioned notebook.
We have used UNET from Segmentation-Model. Segmentation-Model is an open source Python library that contains TensorFlow implementations of the most famous segmentation models like UNET, FPN, PSPNet, and LinkNet.
You can follow the training code and steps here.
Since most metres have different shapes, sizes, and features, it's recommended to retrain the model with your own dataset featuring your type of metres.
To train on you custom data all you need are two directories containing images and segmentation maps/annotation maps separately. Then convert them to data with load_image
function. The Rest of the code and steps remain the same as per the above mentioned notebook.