Soyntec Joinsee 110 Webcam. Photo by Soyntec.

Soyntec Joinsee 110 Webcam. Photo by Soyntec.

Prototype 4: Head-mounted Webcam

We chose a Soyntec Joinsee 110 webcam as it is small and light and has a flexible stem that allows it to be easily positioned. Using gaffer tape we attached it to an elastic head torch harness. We used a 10m USB extension cable to connect the camera to a laptop. We tested two candidate image processing algorithms that we thought would detect the motion of a rolling ball using Processing. A rapid comparison was possible because we had existing code that grabbed a camera frame and the Processing website has example code online for doing frame differencing and brightness thresholding (both written by Golan Levin).

By observing the results in real-time, it was quickly evident that frame differencing is a good technique if the camera is static, but as soon as camera can move, the results get very noisy because of self-generated motion. Rather than increasing software complexity and trying to measure self-motion and compensate for it, we instead simplified the experimental environment and used brightness thresholding. Given a white rolling surface and a dark ball it is easy to track its movement in a thresholded image. If a user positions the camera over the rolling surface then most of the image is white and even if they make small movements the only thing that changes is the position of the ball and the associated location of the stimulation in the vibrotactile array.


Accessibility