Background

Our team members work with computer vision to develop autonomous boats, submarines, and aerial vehicles at the Machine Intelligence Lab here at UF. Regardless of what approach we take towards solving this robotics problems, one thing is constant: the need for accurate "ground truth" data. This data is simply previous images captured from the robot augmented with a human annotated list of objects. Ground truth data is used in modern computer vision applications, like neural networks, to train the algorithm. For more traditional approaches, labeled imaging allows the programmer to quantify the performance of their program.

Inspiration

Despite the immense utility of image annotation in a diverse range of industries, including autonomous transportation, military, and manufacturing, there does not exist a modern open source application for this. Instead, large companies and research institutions each develop their own in-house. The most popular FOSS solution is LabelMe, a slow, perl based web app which has not been actively developed for months. While LabelMe provides a good set of features and the basis for our app, it's age and stagnation necessitates a new app in this market.

What it does

Groundr is a simple, modern, and fast application which allows users to upload, annotate and view images used for computer vision. Groundr aims to be the go to annotation utility for researchers, corporations, individuals, and government. It will do this by always remaining free software and providing an excellent user experience.

How I built it

Groundr is a single page application (SPA) with a front end written in AngularJs. The page communicates with a server entirely through a REST API, allowing for alternative client implementations such as a desktop app. In order to make the application dead simple to interact with, images and annotations are simply stored in a filesystem with no need for a database. Because Groundr is intended to be self-hosted by individual institutions, a demo is provided using Docker for temporary instances.

Challenges I ran into

Our group experienced the most struggle in making design decisions. Each of us has more experience programming alone than collaboratively so were challenged to come to a consensus on contentious design decisions. The lack of a leadership structure meant these issues were only resolved after hours of debate, which exhausted an unnecessary amount of our limited time.

Accomplishments that I'm proud of

In 36 hours, we developed a complete web app with legitimate utility. The app has a pleasant user experience and is above all simple to use. Our lab WILL use this for years to come for our robotics applications, and it is free for any of our competition to use too.

Share this project:

Updates