- An opensource annotation tool aimed to help researchers get rid of annotating images manually for computer vision tasks like object detection and object localisation using the webcam feed.
- The Tool creates annotation of images in Pascal VOC format as .xml files corresponding to each image. The tool also generates annotations as csv file.
- The generated annotations are compatible for training machine learning/deep learning models using Dlib- C++ machine learning library or Retinanet based object detection models easily for custom object detection. For training retina-net based model, The user can refer to this Github Repo.
- The Images and its corresponding annotation XML files are saved in the folder named entered by user in the GUI prompt during the initialisation of the software.
- If the user wants to train a multi-stage object detector like Fast RCNN/Faster RCNN/Retinanet model for custom object detection then this jupyter notebook can be used to convert the Pascal VOC Annotation xml file(s).
- The software is capable of annotating bulk of images needed to create high quality custom machine learning/deep learning based object detectors from scratch or via Transfer learning.
- This tool can act as an automated version of ImgLab
Download Link :: Coming soon.
- Anaconda/Miniconda installed on Windows/Linux platform (Last checked to work on Windows 10)
- Integrated webcam(preferably) or an external webcam, check this via
$ python webcam_test.py
-
Create a new environment using the environment.yml
Upon successful execution of the script, A GUI should appear as depicted below.
Once the GUI of the Software appears. Follow these steps to get started with the annotation.
Coming soon: With TFOD Compatibility(Tensorflow Object detection toolbox).
After you execute main.py, you should be getting a core xml file which you can easily split into multiple xml files using few lines of code. Neverthless, I will try to upload the helper script soon :)
Coming soon:
Coming soon!
- Reason for not using cv2.Multibox tracker : I have tried and experimented with various tracking algorithms available in Opencv's multibox tracker but Dlib's correlation tracker outperformed each one of them. If you wish to experiment more, feel free to redirect yourself to the Pre-release where I have already incorporated OpenCV's various multibox tracker instead of Dlib's Correlation tracker.
- Remove python backend of the Annotation tool with C++ for better realtime performance.
- Enable support for various format of annotations used in commonly used Object detection architectures like Yolo, Architectures in Tensorflow Object detection besides the currently supported RetinaNet and Dlib's HOG+SVM/DNN_mmod object detector algorithms.
This project is licensed under the LGPLv3.0 License - see the LICENSE.md file for details
If you find the tool helpful, please cite my paper.
My name is not in BibTex file(though I am the first author) due to Google Scholar not being able to parse mononymous names :(
@inproceedings{kool2018visual,
title={Visual machine intelligence for home automation},
author={Kool, Ish and Kumar, Dharmendra and Barma, Shovan and others},
booktitle={2018 3rd International Conference on Internet of Things: Smart Innovation and Usages (IoT-SIU)},
pages={1--6},
year={2018},
organization={IEEE}
}