next up previous contents
Next: Applications Up: Performance Previous: Classification Performance

Runtime Performance

Pfinder is implemented on the SGI architecture using the VL (Video Library) interface. A typical frame-rate on sixteenth resolution (160x120 pixel) frames is 10Hz using a 200MHz R4400 processor Indy with Vino Video. The same code also runs on the Indigotex2html_wrap_inline2077 platform with Galileo video, but is substantially slower. The difference in speed seems to derive from the fact that the Indy moves video into DRAM with little CPU intervention.

 

grow raster
frame rate 10.2 Hz 3.2 Hz
per pixel time 119 tex2html_wrap_inline2079sec 16 tex2html_wrap_inline2079sec
Table 4.2:  

Gross frame rates and normalized per-pixel computation times for the 'grow' method versus a raster scan approach. The grow code is much less efficient on a pixel-by-pixel basis, but it increases overall performance.

The user model allows for an optimization called growing. The grow operation is allows Pfinder to touch as few uninteresting pixels as possible. By starting at model-determined seed points and expanding analysis outward, Pfinder identifies all the pixels the belong to a single connected region (given the assumption that people are connected). The algorithm for the grow is the familiar ``brush fire'' algorithm from computer graphics work[9]. Although the grow is much less efficient on a per-pixel basis, it provides an overall performance gain, as shown in Table 4.2.



Christopher R. Wren
Wed Feb 25 14:56:43 EST 1998