GuanSuns / Simple-Human-in-the-Loop-ML-Interface

A simple human interface for human-in-the-loop machine learning research, which allows: 1. annote image on webpage, 2. collect human feedback through keyboard input, 3. direct interaction with agents on remote server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple-Human-in-the-Loop-ML-Interface

Description

A simple webpage-based human interface to facilitate human-in-the-loop machine learning research, which allows researchers to:

  • remotely interact with (provide feedback) learning agent on server/clusters
  • easily and efficiently annotate images
  • replay any trajectory with specific frame time
  • easily customize the interface to meet their needs (the interface is implemented with basic python Flask, HTML and JavaScript)

An example An example

Getting Started

  • Run the app.py as normal Flask program
python app.py
  • Go to http://127.0.0.1:5000/
  • Control and provide feedback through keyboard or buttons
  • Create bounding boxes by simple click-hold-drag-release

Keyboard Input

You can define your own keyboard setting in function keyboardInputHandler in the file templates/index.html. Current setting is:

  • A: positive feedback (+1)
  • S: negative feedback (-1)
  • D: no feedback (0)
  • C: clear existing feedback
  • >: next frame
  • <: previous frame
  • P: auto play/stop auto play

Some Examples of Customizing the Interface

Reference

About

A simple human interface for human-in-the-loop machine learning research, which allows: 1. annote image on webpage, 2. collect human feedback through keyboard input, 3. direct interaction with agents on remote server


Languages

Language:HTML 54.5%Language:Jupyter Notebook 33.9%Language:Python 11.6%