Office location: Shelford, Cambridge
Job title: Software Engineer Intern
I am Tudor, an engineering student at the University of Cambridge and have been part of StarLeaf as an intern for 10 weeks. My main project is to build a trial platform to try out camera auto-tracking via fixed webcam with digital zoom that could be extended with extra USB cameras in the future. Crucially for the project, we control the tracking software ourselves and can tune this for our use-case.
The software is to be deployed on a UP 2 platform and be installed in one of the meeting rooms at the end of the internship. The board should register the video stream frames, detect the persons, crop around an envelope of all the regions of interest while keeping the aspect ratio, resize to the wanted resolution, and send/display the processed frames. The display can be implemented using the USB gadget system of the Linux Kernel and then be used as a USB UVC device connected to any host that has USB ports, or using an X11 full-screen window and sent through HDMI or DP to any host that has these ports. Implementing the USB gadget functionality on an Intel architecture felt like pushing the frontiers of technology, and could be the first project to do it.
The project is successful, both displaying modes being achieved at a high frame-rate (30FPS, maximum supported by the cameras) and a high resolution (up to 4K, even if the output had to be 720p, the only supported by GT Mini). A platform has been installed in one of the meeting rooms and tested during the last week of the internship with success. The project has been engaging as it required both writing algorithms from scratch and joining complex pieces of software puzzle. It also emphasized both performances to achieve the high frame-rate and creativity to develop the heuristics for the tracking algorithms with the challenge of detection high latency (4s/frame). StarLeaf proved that it is a great environment for learning.