Wide Angle Edimax Camera

A 2006 summer project

Home Project Overview Controlling the Edimax IC-1000 Custom Firmware on the BR6104K Cross compilation Software Conclusions Links Contact

Given the objective of creating a panoramic camera using four ethernet cameras and a programmable Linux-based router, a few challenges present themselves. For one thing, one must be able to retrieve images from the cameras using non-proprietary means. Also, interfacing with the router and cross compiling programs for it is important. With those problems solved, software must be created to handle image composition, as well as the server functionality required to make the panoramic camera network accessible.

The hardware obstacles are very practical problems; from a theoretical standpoint, the most interesting work is on the image stitching. The camera chosen for use in this project has a field of view wide enough to cover almost 180 degrees with four cameras. So, when properly mounted, the cameras have small overlaps between their respective images which allow for the generation of a panorama. The most convenient way to generate this panorama is a pre-computed static association between pixels in the panoramic image and pixels in the four camera's images. This assocation can be established by calibrating all of the cameras, then determining extrinsic parameters with respect to a fifth reference camera. Armed with data on cameras' locations with respect to each other, a coordinate system with an origin somewhere behind the cameras' centers of projection can be constructed. The cylindirical panoramic image can be centered around this origin. Then, using the world coordinates of pixels in the panorama, pixels can be selected from one of the four images based on the previously computed extrinsic parameters.

With the described image composition algorithm, there is a minimum distance at which the panoramic camera must be placed from the objects it's viewing to still return a proper picture, as motion parallax/a lack of image data hinder the composition process. However, past that distance, anything in the image should be fine. This process is sensitive to small errors in calibration data, but should be very fast on the limiting hardware in the router (and, since the goal is video, fast is good). Registration-based techniques require too much processing to make dynamic panormama generation feasible.