Skip to content

WnQinm/Annotator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ScreenAnnotator

Official code repository for the paper “From Bounding Boxes to Visual Reasoning: An On-Policy Data Annotation Tool for Vision-Language Models”.

ScreenAnnotator is an interactive annotation platform for building and improving vision-language model (VLM) datasets. It supports task-based image management, bounding-box annotation, model-assisted annotation, quality-control review, and on-policy model training loops.

Motivation

Existing annotation platforms often suffer from three systematic bottlenecks: limited expressiveness for jointly binding spatial locations, free-form text, and attributes; annotation-training decoupling in offline pipelines; and poor data reusability across downstream VLM tasks. ScreenAnnotator is designed to address these limitations with a unified annotation schema and an interactive model-in-the-loop workflow.

Motivation

Annotation schema

ScreenAnnotator extends each bounding box into a unified annotation atom: a categorical label, a free-form description, and structured key-value attributes defined by a task-specific declarative schema. This representation supports richer supervision than bounding boxes alone while remaining reusable across downstream reasoning tasks.

Unified annotation atom schema

On-policy annotation loop

ScreenAnnotator supports an on-policy annotation loop in which the current policy model pre-annotates new image batches, human annotators review and correct predictions, a Bayesian verifier flags suspicious annotations for a second review pass, and updated models are retrained on the accumulated quality-controlled dataset before the next round.

On-policy annotation loop

Documentation

  • backend/README.md: Django backend, database/object-storage configuration, API routes, annotation data model, and model orchestration workflow.
  • frontend/README.md: Vue/Vite frontend, annotation UI, model workflow prerequisites, and frontend development notes.
  • backend/models/README.md: FastAPI model runtime services, model-backend communication protocols, and runtime development notes.

Quick start

Prepare PostgreSQL and MinIO first, then start the required services in separate terminals. Detailed setup instructions are available in the component-level README files above.

# Terminal 1: backend API
cd backend
python manage.py migrate
python manage.py runserver 0.0.0.0:8000
# Terminal 2: frontend UI
cd frontend
npm install
npm run dev
# Terminal 3: optional model runtime, for example YOLO
cd backend/models/yolo
python server.py

Open the frontend at http://localhost:3010. Backend API docs are available at http://localhost:8000/docs/.

High-level layout

.
├── backend/          # Django API, persistence, annotation, and model orchestration
├── frontend/         # Vue/Vite annotation interface
├── assets/           # Figures used in the paper and repository documentation
└── backend/models/   # Standalone FastAPI model runtime services

Demo

The following screenshots show the current system interface:

ScreenAnnotator system screenshot 1

ScreenAnnotator system screenshot 2

A demonstration video of the current system is available here:

screenannotator.mp4

Citation

The paper is currently under double-blind review. The final BibTeX entry will be added after the review process.

License

This repository is released under the BSD 3-Clause License. For double-blind review, the copyright holder is temporarily listed as “Anonymous Authors” in LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

5 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors