Senior Project: of cameras and computers

I’m a computer science/computer engineering student, and I’ve come up with an idea for my senior project in a couple years. In chapel every day, someone goes up into the rafters, stands on a walkway and takes pictures of the seats. Theoretically, someone looks at these pictures, determines which seats are empty and who they belong to, and thereby takes attendance. It doesn’t seem to happen all that often, but such is the theory.

I want to automate it. The idea is to place a digital camera or cameras along this walkway. At certain times of day set by a piece of software on the network, the camera(s) will take pictures from certain positions and angles. These pictures will be sent over the network to a script which will analyze the pictures, determine which seats are empty, and update the online database of absences.

The current design is thus: the camera and mounting will be mounted on a track along the handrail. When not in use, the assembly will rest in a hangar of sorts, where it charges its battery and possibly communicates with the network. When called, the camera will travel along the track to certain pre-programmed locations and angles, and take pictures. Those pictures will be transmitted over the network to the script. As yet the resolution necessary for usable pictures is unknown, but I should find out soon.

My main problem is coming up with some way to control the camera over the network, and then to return the pictures to the script. I’d like to find a pre-existing camera that has the capability to be controlled and take high-res snapshots over a network, then send those pictures back. However, my funding is not limitless, and nothing even remotely close at ANY price has yet been seen. So first question: anyone know if such a thing exists?

Assuming it doesn’t, I need to create a setup that does an equivalent job. The main difficulty would be in controlling the camera, and returning its files over the network. At this point I’m starting to think that the mounting needs to be intelligent, with a built-in computer that stores the commands received and executes them at the desired time. The mounted computer can interface with the camera via USB, download the pictures it takes, then return to its dock to recharge and reconnect with the network. It’ll then upload the files. The main problem here is that I can’t find small, cheap computers with both USB and Cat5 interfaces. The best I can come up with is an iPaq with a PC card sled for USB and a CF network card.

Another option is to have the camera’s shutter controlled by the onboard computer, but have them both dock with a desktop-sized computer. The desktop receives the commands over the network and programs the onboard computer. The onboard computer moves the assembly around snapping shots at the right time, then returns to recharge the mounting’s batteries and get new instructions, and the camera downloads to the desktop, which then uploads them. A Zaurus might be ideal for this.

So I’ve got three major design ideas in mind: the camera and onboard computer interface with the network directly; the camera interfaces with the onboard computer, which interfaces with the network directly; or they both interface with a mothercomputer. I’d like your opinions on if any of them are feasable, if there’s any equipment I don’t know about that’d be handy, and if there are other major design possibilities you can come up with. :slight_smile:

Sounds like it would make everything 10x easier to have 2 or three fixed cameras, rather than one incredibly odd one.

If you’re dead set on it for some reason, I’d look into wireless.

You might look into computer boards designed for embedded applications (control of industrial machines and appliances). The PC-104 standard is designed especially for such applications, although there are boards that use other buses too. You might also try a google search for wearable computers; last I checked, this community had a lot of information about building compact low-power computers. On the other hand, it might be easier to find a used laptop, take out the necessary circuits (motherboard, hard drive and some of the interfaces) and repackage them in a more suitable case.

I think I would put a used laptop on the mobile platform and have it do all the processing and communication. I’d use wireless networking so it doesn’t have to “reconnect” every time it returns to the hanger. Connectors are always tricky and unreliable, so you don’t want more than the bare minimum (i.e. power only).

The canon series digital cameras can be controlled via USB. You can zoom, adjust the settings and take photos and even set it to take photos every X minutes. However, USB has an inherent length limit or 5m (IIRC) and its timing related, not cable related so theres no way to lengthen it. Your best bet would probably be to go with 802.11. I heard rumours about a prosumer camera that was capable of 802.11 a while back but I don’t know what became of that.

Your main problem is going to be automating the connection and disconnection of everything. Chargers and cables weren’t designed to be plugged in by a machine. It looks like the easiest thing to do would be to plug it in manually but if your going to do that, you might as well just dump everything on the CF card and do that manually as well.

There’s some funky technology thats going to be out 2010ish that can charge stuff on contact rather than using plugs if you can wait that long ;).

Alternatively, you could have a look at the X11 wireless cameras and the ilk used by security systems and perverts :).

I think in the end, its going to be easiest going with multiple cheap cameras. After all, you dont need much resolution to pick a person out.

I’m sure I’ve seen 802.11 cameras with pan and tilt control as standard.

Off the top of my head:
Most, if not all, digital cameras support a sort of “live feed” mode when connected to a computer. I’d structure it so that the camera remains connected to the computer (either via a boosted cable or by wireless network) and have the computer perform the image capture from the feed (I say live; it’ll be more like one or two frames a second - partly depending on your bandwidth).

We may finally have found a use for those X10 cameras.

*The canon series digital cameras can be controlled via USB. You can zoom, adjust the settings and take photos and even set it to take photos every X minutes. *

Hmm! Well, that would certainly reduce the need for dismantling the camera, wouldn’t it? Thanks! :slight_smile:

Sounds like it would make everything 10x easier to have 2 or three fixed cameras, rather than one incredibly odd one.

Yeah, you’re probably right there. The mobile mounting was basically a way to only have a single full-sized computer and a single power supply. With three cameras, I’d need at least three and possibly six power drops, depending on whether the camera can run off the USB port. But then, I suppose that’s where electrical engineering comes in handy: I take one power drop and distribute it from there. Thankfully, I should be able to do that by the time I actually get around to building this thing! It was also a way to have the engineering mechanics people I’ll be working with have something to do, and it still succeeds at that. But then, I suppose building a swiveling mounting is, if not quite as cool, just as useful.

Either way, a possible computer setup just occured to me. Take an old SL-5500, and put a USB host CF card in it. Hook a hub up to that (requiring yet more power, but that seems to be how things go), and plug both the camera and an external 802.11b device into it. Instant small Linux-based computer with network and USB capability, for less than $400. Any problems there?

I know I’m thinking /way/ farther ahead than you’re worried about, but it’s not unreasonable that a girl with long, dark brown hair in a dark brown dress might not show up as an occupied seat. I wouldn’t dream that a fellow student would try to game your system, but you should think about whether a camera that measures the visible spectrum is going to be good enough.

As long as the chapel is kept below 90F, mightn’t a small array of IR/thermal sensors be better? Yes, they’d also probably be more expensive.

I’m just hoping you’ll consider (a) measuring from a position other than the ceiling, (b) measuring something other than what’s visible.

Along those same lines, you could find a clear additive that shows up well in UV, and cover the seats/pews with it. By looking for the signature of an empty seat, you greatly reduce your search space. I’ve seen robots follow a ‘stripe’ of clear paint along the floor at my old office; the paint worked equally well on carpet and tile, and withstood vacuuming, waxing, steam-cleaning, scuffs, etc.

Just my $.02 .