Parallel Histogram-based Particle Filter for Object
Tracking on SIMD-based Smart Cameras
As the demand for low-power, portable, and networked computing devices continues to increase, it is natural that the number and the complexity of services provided by such devices will only grow. The operating speed of these devices, however, is bound to be much lower than that of standard desktop computers due to power consumption and size constraints. In order to support these new, more complex applications, there has been a large effort to design alternative processing architectures for small computing devices. Since these architectures are fundamentally different from that of the general purpose processors, it is often the case that existing algorithms need to be redesigned in order to be implemented in these systems.
The WiCa camera, shown in Figure 1, is one example of a platform based on such alternative architectures. It basically consists of four main components, namely a VGA color image sensor, an IC3D/Xetal SIMD processor, a general purpose processor, and a Dual Port RAM (DPRAM) which is shared between the SIMD processor and the general purpose processor. The IC3D/Xetal SIMD processor consists of a linear processor array (LPA) with 320 RISC processors, one digital input processor, one digital output processor, and one global control processor (GCP). Each processor in the LPA is endowed with 64 words (10 bits wide) of memory and can directly access the memory of its immediate neighbors. Data is streamed into the LPA memory by the digital input processor and out of the LPA memory by the digital output processor. The GCP, in addition to controlling the operation of the LPA, is also capable of performing global DSP operations.
Figure 1: WiCa camera.
We developed a parallel histogram-based particle filter for object tracking on SIMD-based smart cameras. We specifically focus on parallel computation of the particle weights and parallel construction of the feature histograms since these are the major bottlenecks in standard implementations of histogram-based particle filters. We also implemented in the SIMD processor the remaining steps of the particle filter such as particle weight normalization, particle resampling, estimation of target position, etc. that are not immediately parallelizable. Figure 2 shows the WiCa camera tracking a target using the proposed algorithm.
Figure 2: Visualization of the tracking results in the WiCa camera.
The proposed algorithm is valid for any histogram-based feature sets. So far we have employed simple color-based histograms as well as more complex histograms of oriented gradients (HOG). The algorithm was successfully implemented on the WiCa camera and performs robust object tracking at up to 30 frames per second (a performance which is difficult to achieve even on a modern desktop computer).
Color histograms have many advantages for tracking non-rigid objects since they are invariant to rotation and scale, and robust to partial occlusion. Figure 3 shows snapshots of the tracking results of our implementation of the parallel color-based particle filter in the WiCa camera.
Figure 3: Tracking results of the color-based particle filter.
HOG is especially suitable for detection of objects with distinguishable shapes, and allows for small perspective distortions and shape variations. Figure 4 shows snapshots of the tracking results of our implementation of the HOG-based particle filter.
Figure 4: Tracking results of the HOG-based particle filter.
Our results show that it is possible to achieve real-time tracking even operating at relatively low clock frequencies. We believe that the real time implementation of the histogram-based particle filter in an embedded camera will provide an invaluable building block for the design of applications of practical interest in portable embedded devices and wireless camera networks.
    •    Henry Medeiros
    •    German Holguin
    •    Paul Shin
    •    Johnny Park
WiCa camera tracking a target using the color-based particle filter.
WiCa camera tracking a target using the HOG-based particle filter.