How to Annotate in Video for Training Machine Learning with a Good Workflow, by Jakob Persson

AI and machine learning have been growing a lot in the last decade, and it is also something that can be very useful in the post-production of a film, TV show, etc, by using Video recognition instead of a human to find specific objects, scenes in the video content. But a problem with video recognition programs is that they do not work as well as we wish. To make video recognition programs better, its algorithm needs to be trained on large sets of training data.

To create this training data a tool for annotating objects and people in video content is useful, but how will this tool look and how will it be designed with a good workflow for the users?

That was something that my master thesis was going to answer.

When joining Codemill for my thesis in January I had the luxury to choose between a lot of different interesting topics, but I felt that this topic was the most interesting one where I could do a lot of prototyping and test my UX skills.

Before I could start designing and start building prototypes, a lot of research had to be done to get more knowledge about annotation in video and how this could be used in Accurate.Video. When I had enough knowledge I started to design and by doing several iterations of prototyping and usability testing, a final prototype was created.

The final prototype shows my design suggestions on a tool that can annotate objects and people in the video that later can be used as training data for algorithms and a tool that can retrain an algorithm by correcting the output on what the algorithm has guessed. These tools were designed to fit in Accurate.VIdeo and my result also showed that keyboard shortcuts are very important for these tools, to create a good workflow for the users.


While doing my thesis at Codemill, not only I learned about annotation of objects and people in the video, but I also learned a lot about the post-production of TV shows, TV-series, films, etc, and how to perform remote usability testing, and I also learned how it is to work in a digital product development- and IT-consultant company.

The best part of doing my thesis at Codemill was that, from day one I felt that I was a part of the company, everyone I spoke to was very nice, helpful and curious about what I would do as my master thesis project, I also participated in team activities like cheese tasting, escape room, summer party, and more (remote activities). Codemill has now set high standards for how I want my future workplace to be.

A few tips along the way if you are going to do your master thesis.