Interactive Image Annotation GUI tool for Computer Vision task
I would like to build an interactive Image Annotation GUI tool that is able to label bounding boxes and segmentation masks for a given image, which will be further used to train deep learning models. Specifically, it needs to have the following components:
1) Bounding box loading. For each image to be annotated, user will start by loading pre-generated bounding boxes from a local .json file, and it will display on the current image. Each box associates with a class label. There could be many boxes and objects for an image (e.g. 1 to 300+), so user should be able to choose which class to show (e.g. 'car', 'person') and which class to not show first.
2) Bounding box correction. User can add, delete, edit or change the class of labels for each bounding box, with easy mouse clicks. Whenever he moves his mouse to a certain box, this box will be highlighted for the user, so he knows he will select this box to edit if he clicks.
3) Segmentation masks (Semantic Segmentation). User can run a pre-trained machine learning model to generate segmentation mask within each box. A segmentation mask is a binary mask, where all pixels on the segmented object will be 1, and the background pixels will be 0. It is more detailed than box, on the pixel level.
However, designer is NOT required to build and train ML model through the entire project, but just need to create a function or wrapper that can call such model for inference.
4) Correction of segmentation masks. For masks that are not accurate, user will manually correct them. Please use this example as reference - [login to view URL]
I am attaching an example below in the attachment, for the effect of bounding box and segmentation masks. However, please note that the colors for each object (e.g. 'Car', 'Person') should be same, and different from other objects, in the final output.
Designer can choose to use this code template below as starting point, which you don't have to build everything from scratch:
[login to view URL]
[login to view URL]
Expected working environment / programming tools:
Python 3.6, tkinter / PyQT, Mac OS
Candidates need to have good experiences in designing robust interactive UI tools that work with images. Candidate should have proven experiences using either PyQT or Tkinter.
Knowledge and experiences of using OpenCV / PIL, NumPy are required in building this tool.
However, having knowledge of Deep Learning / Computer Vision will be a plus, as this will help the designer understand better of the overall structure of this tool, but not a must in this task.
29 freelancers are bidding on average $473 for this job
Hi, I’m mechatronics engineering, I have good experience in Artificial intelligent, python and machine learning. I will do work at the time with high quality. I am ready to do free sample for your work.