Multiple-Camera Tracking

(with easy calibration)

 

Objective

Investigate how to create sensor systems for homes and workspaces that are portable and easy to install. The people and object tracking these systems provide can be used to create context-aware user interfaces.

Applications

Multi-camera techniques are particularly useful for a system that must track a small number of individuals across a complete indoor environment. Tracking a person in an environment is an important aspect of health care at home because the analysis of motion patterns gives indicators of some health related problems. For example, degenerative mobility disorders, and certain mental disorders such as obsessive compulsive disorders which involves repetitive patterns of movement. Further, mobility is an indirect measurement of the level of activity of a person, important to define the level of independence of elderly people.

Description

The system consists of six usb cameras located at 9 feet height in our one-room living space. The cameras are located so that the field of view of all the cameras cover all the region to track. In this case, the six cameras cover all the region of the room. Each camera is attached to a pentium II 600MHz computer running the computer vision algorithms.

Easy calibration

The system needs an initial calibration step. Once the cameras are located at 9 feet height and hung from the walls, the calibration step consists in one person walking inside the room. While the person is walking, all the cameras start calculating probability maps of overlapping regions which show the probability of that specific camera having an overlapping with all the neighbor cameras. At the same time, all the cameras start building a probability map for the entry and exit points of the room.

The following image shows the location of the cameras inside the room

The following picture is a top view diagram of the cameras and the overlapping field of views of the cameras. The numbers define the number of cameras that are able to see a person located in that specific region of the room.

Algorithm

For each camera

  1. calculate the background substraction statistics
  2. calculate background substraction in current frame
  3. form clusters from the blobs found and for each cluster calculate the number of pixels, average color, velocity,and bounding box.
  4. merge similar clusters ( the ones that have similar color, distance, velocity and number of pixels)
  5. for each cluster in current frame predict the position in next frame.
  6. use average color, velocity, area and direction of movement to track the objects inside the fiel of view of the cameras. This means that each object will have the same tag assigned to it as it moves infront of the camera.

Information exchange among cameras (currently under implementation)

  1. Each camera is continuously calculating the probability of overlapping with neighbor cameras for all the current objects being tracked. If the probability of overlapping is greater than 50%, this camera sends the information of the current object being tracked (assigned tag, area of blob, average color, velocity and direction of movement to the camera) to the cameras that are more likely to be looking at the objects. Then, when a camera receives this information from another camera, it compares the information with the characteristics of the current objects. If the camera finds that the information is close enough (objects have similar color, velocity, direction of movement and size), then the same tag is assigned to this object and the one in the neighbor camera that initially sent the information of the object.

The following picture, illustrates how the background substraction is calculated and how the average color, and velocity of movement are calculated,