A Scaleable MultiTask Network Framework for image-based Object detection, Instance segmenation, Keypoint detection, Classification and Regression. Our purpose is to solve two problems while using deep neural network in production
- Design scaleable multitask network with shared bakbone
- Handle dataset with sparse supervision
In an image we want to detect cucumbers, color board segment fruits, segment their backbone, and also classify there neck and overall rating
-
Install requirements using pip install -r requirements.txt
-
The netowrk can be seamless extended to handle more tasks by changing the config file
-
To train the netowrk run train_vegnet.py
-
To predcit run predict_vegnet.py
- Pipeiline of an Instance segmentation network like MaskRCNN with Keypoint Detector followed by seperate CNNs for per fruit classification/regression
First CNN network is for detection, segmentation, and keypoint detection like MaskRCNN which extracts the fruit patches or ROIs which are then fed to another network for multilabel classification and regression of each fruit. Figures below show this pipeline
- The second way is multi task learning. We propose here a multitask network with configureable inputs and that can be exapnded to do N segmentaiton,N classification and N regression tasks where N can be specified using a simple config file. The idea is to use shared features between task and use ROIs generated by RPN network to narrow the area of classification and regression. Multitask networks in addition to providing better generalizations aslo can be paralleleized and be computed very efficently.