Problem Statement

Label Master (Data Labeller - AI, Python)

Develop a desktop application that allows users to label and annotate images with the help of an AI model. The application should automate the process using pre-trained object detection models while giving users the ability to manually adjust bounding boxes and labels. The goal is to speed up the annotation process with minimal user input, without sacrificing accuracy or control.

Requirements

AI-Assisted Annotation: Use object detection models (e.g., YOLOv5, Faster R-CNN) to predict bounding boxes and labels for objects in the image.

Manual Correction Tools: Allow users to modify the AI-generated annotations by dragging and resizing bounding boxes, changing class labels, or adding new annotations.

Interactive Interface: Design an intuitive interface using Tkinter or PyQt where users can upload images, view predictions, and make adjustments.

Data Export: Enable users to export annotations in formats like JSON, XML, or CSV with details of bounding boxes and labels.

Tech Stack

Programming Language: Python

AI Frameworks: PyTorch or TensorFlow for integrating object detection models like YOLO or Faster R-CNN.

Image Processing: OpenCV for reading, processing, and manipulating images.

UI Framework: Tkinter or PyQt to build a graphical user interface (GUI).

Data Export: Libraries like JSON, XML, or CSV to format and save annotated data.

Work Flow

Step 1: Load the image using OpenCV and display it in the GUI.

Step 2: Pass the image through a pre-trained object detection model (e.g., YOLO) to get predicted bounding boxes and class labels.

Step 3: Display the predictions in the GUI and provide options for users to edit them.

Step 4: Implement a save function to export the annotations in JSON, XML, or CSV.

Evaluation Criteria

Efficiency: How effectively does the application speed up the labeling process using AI?

Accuracy: How accurate are the object detections, and how easily can users correct errors?

Usability: Is the tool user-friendly, with clear instructions and minimal technical knowledge required?

Export Functionality: Can the labeled data be easily exported and used in other applications?

    Please use a mobile device to access this website.