Project Details

From White Dots

Jump to: navigation, search

Welcome to the sprawling detail dump of how this will all work. This is very much a work in progress, and will no doubt evolve substantially over time.

Contents

Collecting Video

A key part of the project is collecting video - lots of it, and good enough quality to be useful. There are a number of challenges:

  • The imager needs to be high resolution, at the very least 2 megapixels
  • Many of the images will be collected in low-light conditions
  • Stored video needs to good quality, free of compression artifacts
  • High-res video makes for huge files
  • The whole imaging setup needs to be cheap enough that large numbers of volunteers can afford to buy one
  • The imaging setup needs to be simple enough to install

The Tracking Device

The component doing most of the grunt work of the project is the "Tracking Device", a setup consisting of:

  1. An imager (e.g. a webcam such as the Logitech QuickCam Pro 9000)
  2. An enclosure to house the imager
  3. A computer
  4. A high-speed network connection
  5. A web server, serving up a #Configure This Tracking Device web application

Imager and Enclosure

Many people will want to set up the imager indoors, looking out through a window. Indoors, we'll need some sort of housing to make it easy to mount the imager in a window, keep it still so it's not easily bumped, and to mask reflections of the room behind it.

Outdoors is much trickier. The same webcam might suffice in temperate places, but it will need a rainproof, heated and ventilated enclosure much like you see on security cameras like the Axis 215 PTZ-E.

Local Computer

The computer attached to the imager does several jobs:

  • Keeps its clock accurate
  • Captures the video feed from the imager
  • Saves a rolling stream of video (e.g. the last 2 hours)
  • Runs #Interesting Object Detection software against the video feed
  • Notifies a coordinating, regional computer whenever something interesting is spotted
  • Polls for and responds to "save and upload your video" instructions

Interesting Object Detection

The interesting object detection software is a critical aspect of the project. It's easy to underestimate how tough this will be. Computers struggle to understand what they see through computer-connected video cameras, and must do so without the computing power of the human brain, nor the experience of the human memory (much of your success at understanding what you see comes from having seen similar things before).

This software must:

  • Identify areas of the image that look like an interesting object
  • Establish continuity of over time, so that objects in view for more than one frame are considered a single object
  • Calculate the data for an #Interesting Object Report

And, while doing this, it must:

  • Not get confused by areas that move often (e.g. a tree that occasionally blows in the wind)
  • Have only a few false positives that the central, coordinating computer isn't overwhelmed
  • Have VERY few false negatives so that interesting objects aren't missed
  • Keep up with the video stream, doing this analysis in real time

What Counts As Interesting?

Since UFOs aren't well understood, it's hardly fair to say we know what we're looking for. Nevertheless, we have to put parameters on the search for practical reasons:

  1. Larger than a basketball
  2. Apparently discrete objects (i.e. masslike, not cloudlike), either silhouetted, reflecting sun or moonlight light or light-emitting
  3. Between 30m and 10,000m altitude
  4. Appearing for as little as half a second
  5. Any apparent speed from stationary to extremely fast (e.g. crossing the camera's field of view rapidly)

These parameters will probably net a lot of (in roughly decreasing frequency, for my area):

  1. Street lights
  2. Lit apartment windows (at night)
  3. Low-flying songbirds (e.g. finches)
  4. Insects that dart across the camera's field of view
  5. High-flying, circling birds (e.g. seagulls, hawks)
  6. Private small aircraft (e.g. Cessnas)
  7. Astronomical bodies (e.g. sun, moon, planets, stars)
  8. Passenger airplanes
  9. Helicopters (news, police, medical)
  10. Satellites
  11. Escaped party balloons
  12. Meteors
  13. High performance aircraft (e.g. military fighter jets)
  14. Hot air balloons

Interesting Object Report

Full-motion video uploaded from every Tracking Device in the project, 24/7, would require a very expensive infrastructure, and would use too much of volunteers' network connections (either by using too much bandwidth, or by hitting monthly upload caps).

Because of this, the Tracking Devices will mostly be sending Interesting Object Reports. An interesting object report distills what the local machine can glean from the video into a few salient facts. How bright is the object? How big does it look? Where is it in the field of view of the imager?

This could be a chunk of XML with information such as:

  • Interesting Object Report 299754
    • Tracking Device ID: 1622644
    • Time Period: [12:12:00 EDT - 12:12:02 EDT]
    • Object 45232916615
      • Apparent Size: [0.019 - 0.023] Radians
      • Apparent Brightness: -2.21E10-2
      • Average Apparent Velocity: 0.009 Radians/sec
      • Maximum Apparent Acceleration: 0.0002 Radians/sec^2
      • Apparent Trajectory:
        1. 12:12:00.01 EDT: Bearing 244.22°, Inclination +22.01°
        2. 12:12:00.02 EDT: Bearing 244.23°, Inclination +22.01°
        3. 12:12:00.03 EDT: Bearing 244.24°, Inclination +22.02°
        4. 12:12:00.04 EDT: Bearing 244.25°, Inclination +22.02°
        5. ...
        6. 12:12:02.30 EDT: Bearing 244.25°, Inclination +22.02°
      • Original Disposition: Tracking (report 299753)
      • Final Disposition: Still Tracking

The report might also include a cropped still image, snagged from the video feed. Also, after the project gets off the ground, we might find that we can do a rough classification right away, from the 2D video data. That might be a "PROBABLE: WHEELING_BIRD" tag, or it might just be some indication of how typical the data is.

Incident reports cover a maximum of (say) 15 seconds of data. This allows the regional server the opportunity to respond to interesting data and to send out notifications to whatever supplemental monitoring (e.g. half-naked geek climbing onto roof at 3am with video camera and blanket) can be brought to bear.

If the observation takes longer than that, then the Tracking Device sends a bunch of separate reports, using the same object ID.

What's in an Object ID?

There will be plenty of times when a single real-world object gets divided up into multiple tracked 'objects' - any time a seagull arcs out of frame, then returns - or even passes behind a solid object, like a roofline or chimney - the software would presumably consider it a wholly separate object and assign it a new object ID. This is fine.

Configure This Tracking Device

The Tracking Devices will need a way for volunteers to access them, so they can

  1. check that the device is working correctly (e.g. that video is coming in, that it can access its network connection and talk to the central server)
  2. perhaps look at stills or video fragments of interesting objects that have been snapped recently
  3. enter the account credentials so the device can log into the central server
  4. put in their name (or other alias) for bragging rights
  5. tell the camera where it is as part of [Camera Calibration]
Personal tools