SlideShare a Scribd company logo
Development of Image Processing based
Human Tracking and Control Algorithm for
A Service Robot
Abstract:
This paper presents a human detection algorithm and an obstacle avoidance
algorithm for a service robot that provides a service tracking. The mobile robot
will have the ability to follow a human and avoid dynamically moving obstacles in
an unstructured outdoor environment. To detect a human by an Image processing,
we defined features of the human body in xml file and employed a support vector
data description method. In order to avoid moving obstacles while tracking a
person, we defined an ultrasonic obstacle sensor, each obstacle using the relative
distance between the robot and an obstacle. For smoothly by passing obstacles
without collision, a dynamic obstacle avoidance algorithm for the service robot is
implemented, which directly employed a real-time position vector between the
robot and the shortest path around the obstacle.
Objective:
An Image processing based system is used to detect
objects and to follow the path of the environment in
robotic systems .In this project, we use a Image
processing algorithm to detect a human. The Camera is
placed on the robot at torso height and scans an
environment at this height. Whenever a human is
detected, we use pattern recognition of various shapes
in clustered data scanned from a human torso.
Existing Method:
Proposed Method:
In the proposed method we will use Opencv image processing library in
order to detect the Human body in the video and track him accordingly
where as an ultrasonic sensor will used in order to detect the body distance
from the robot and any obstacle present and act accordingly.
In the existing method, the concept implemented was based on a non
reliable technology in real time, where in an outdoor environment there
are more disadvantages that the system can mislead if more humans are
in its path.
ARM 11
USB camera5V DC
SUPPLY
L293D Motors
Ultrasonic
sensor
BLOCK DIAGRAM
 An ARM 11 architecture based Raspberry pi board is used
to implemented the concept, a USB camera will be
connected to the board.
 Using Open Source Computer Vision library (OpenCV) will
train the human body shape and structure to the program.
 Whenever a Human body is present in from the camera,
the algorithm will detect it and draw a rectangular around
the body for identification and starts its movements.
 Obstacle Avoidance: If any obstacle is located between a
marathoner and the MSR and is moving slower than the
MSR, avoiding the obstacle will be done using the
ultrasonic sensor and simultaneously the robot will be
tracking the human.
ARM stands for Advanced RISC Machine
The ARM11 is based on the ARMv6 instruction
set architecture
Bi-endian – can operate in either little-endian or
big-endian format
Most devices today use little-endian
Actually uses two instruction sets – the 32-bit
ARM and the 16-bit Thumb
 Raspberry Pi is a credit-card sized computer
that plugs into your TV and a keyboard.
 It is a capable little computer which can be
used in electronics projects, and for many of
the things that your desktop PC does, like
spreadsheets, word-processing and games.
 It also plays high-definition video. We want
to see it being used by kids all over the world
to learn how computers work, how to
manipulate the electronic world around
them, and how to program.
r0
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
r15 (pc)
cpsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
spsr
FIQ IRQ SVC Undef Abort
User Mode
r0
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
r15 (pc)
cpsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
spsr
Current Visible Registers
Banked out Registers
FIQ IRQ SVC Undef Abort
r0
r1
r2
r3
r4
r5
r6
r7
r15 (pc)
cpsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
spsr
Current Visible Registers
Banked out Registers
User IRQ SVC Undef Abort
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
FIQ ModeIRQ Mode
r0
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r15 (pc)
cpsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
spsr
Current Visible Registers
Banked out Registers
User FIQ SVC Undef Abort
r13 (sp)
r14 (lr)
Undef Mode
r0
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r15 (pc)
cpsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
spsr
Current Visible Registers
Banked out Registers
User FIQ IRQ SVC Abort
r13 (sp)
r14 (lr)
SVC Mode
r0
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r15 (pc)
cpsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
spsr
Current Visible Registers
Banked out Registers
User FIQ IRQ Undef Abort
r13 (sp)
r14 (lr)
Abort Mode
r0
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r15 (pc)
cpsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r13 (sp)
r14 (lr)
spsr
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
spsr
Current Visible Registers
Banked out Registers
User FIQ IRQ SVC Undef
r13 (sp)
r14 (lr)
r8
r9/sb
r10/sl
r11
r12
r13/sp
r14/lr
r15/pc
r0
r1
r2
r3
r4
r5
r6
r7Register variables
Must be preserved
Arguments into function
Result(s) from function
otherwise corruptible
(Additional parameters
passed on stack)
Scratch register
(corruptible)
Stack Pointer
Link Register
Program Counter
The compiler has a set of rules known as a
Procedure Call Standard that determine how to
pass parameters to a function (see AAPCS)
CPSR flags may be corrupted by function call.
Assembler code which links with compiled code
must follow the AAPCS at external interfaces
The AAPCS is part of the new ABI for the ARM
Architecture
Register
- Stack base
- Stack limit if software stack checking selected
- R14 can be used as a temporary once value stacked
- SP should always be 8-byte (2 word) aligned
Camera plays a vital role in
automation purpose. The
camera is used for monitoring of
a room from a remote place.
The camera used is a USB
camera. Whenever the user
clicks on to video button on
loaded webpage, the
corresponding room video will
be streamed on to webpage .For
this purpose we use a MJPG
streamer. The below figure
shows the camera that has been
used for monitoring of a room.
The sensor is primarily
intended to be used in
security systems for
detection of moving objects,
but can be effectively
involved in intelligent
children’s toys, automatic
door opening devices, and
sports training and contact-
less-speed measurement
equipment.
This chip contains 4 enable
pins. Each enable pin
corresponds to 2 inputs.
Based on the input values
given, the device connected
to this IC works accordingly.
motors are used to
efficiently convert electrical
energy into mechanical
energy. Magnetism is the
basis of their principles of
operation. They use
permanent magnets,
electromagnets and exploit
the magnetic properties of
materials in order to create
these amazing machines
DC Motor
Implementation:
Obstacle Avoidance: If any obstacle is located between a marathoner and
the MSR and is moving slower than the MSR, avoiding the obstacle will be
done using the ultrasonic sensor and simultaneously the robot will be
tracking the human.
An ARM 11 architecture based Raspberry pi board is used to
implemented the concept, a USB camera will be connected to the board.
Using Open Source Computer Vision library (OpenCV) will train the
human body shape and structure to the program. Whenever a Human
body is present in from the camera, the algorithm will detect it and draw
a rectangular around the body for identification and starts its
movements.
Applications:
Conclusion:
Advantages:
 Security
 Industry
 High Accuracy
 Easy to implement
A marathoner service robotic system will be designed for human
detection . When the intruder is in front of the sensor than the MSR,
the MSR does not consider the intruder as an obstacle but using the
algorithm identifies the human body. Therefore, the MSR did not
show any avoidance behavior. By applying the modified technique an
advanced system will be developed.
References:
1. MarathonWorld. (2012). [Online]. Available: http://www.marathonworld.com
2. I. J. Cox and S. L. Hingorani, “An efficient implementation of Reid’s multiple
hypothesis tracking algorithm and its evaluation for the purpose of visual
tracking,” IEEE Trans. Pattern Anal.Mach. Intell., vol. 18, no. 2, pp. 138–150,
Feb. 1996.
3. J. K. Aggarwal and Q. Cai, “Human motion analysis: A review,” in Proc. IEEE Proc.
Nonrigid Articulated Motion Workshop, 1997, pp. 90–102.
4. J. MacCormick and A. Blake, “A probabilistic exclusion principle for tracking
multiple objects,” in Proc. 7th IEEE Int. Conf. Comput. Vision, 1999, pp. 572–
578.

More Related Content

PDF
Automation biped robot @1000KV Technologies 9030844877
DOCX
Fire Detector And Extinguisher Robot- Project Report
DOCX
human detection robot
PPTX
Autonomous maze solving robot (1/2)
PPTX
Maze Solver Robot Poster
PPTX
SIMULTANEOUS MAPPING AND NAVIGATION FOR RENDEZVOUS IN SPACE APPLICATIONS
PDF
robotic arm 3d printed with microcontroller
Automation biped robot @1000KV Technologies 9030844877
Fire Detector And Extinguisher Robot- Project Report
human detection robot
Autonomous maze solving robot (1/2)
Maze Solver Robot Poster
SIMULTANEOUS MAPPING AND NAVIGATION FOR RENDEZVOUS IN SPACE APPLICATIONS
robotic arm 3d printed with microcontroller

What's hot (20)

PPT
Maze solver robot presentation
PPT
seminar presentation
PDF
Mobile Rescue Robot for Alive Human Detection in Disaster Zones
PDF
Design and operation of synchronized robotic arm
DOCX
Sample of project synopsis (2)
PPTX
Robotics2
PPTX
rescue robot based on embedded and ROV
PPT
Mainprojpresentation 150617092611-lva1-app6892
PDF
IRJET- An Approach to Accelerometer based Controlled Robot
PPTX
Robotic Hand
PPTX
Robotic Arm 5 degree of freedom (5 DOF)
PPTX
Autonomous vacuum cleaning robot
PPSX
final review_sri
PDF
IRJET- Driver Drowsiness Detection System using Computer Vision
PDF
Maze solving quad_rotor
PDF
An introduction to Autonomous mobile robots
PPTX
Car safety system
PPTX
Human Detection Robot
DOC
Inner file 7_naew-5cajk5
PDF
Enhanced robotic arm Abstract
Maze solver robot presentation
seminar presentation
Mobile Rescue Robot for Alive Human Detection in Disaster Zones
Design and operation of synchronized robotic arm
Sample of project synopsis (2)
Robotics2
rescue robot based on embedded and ROV
Mainprojpresentation 150617092611-lva1-app6892
IRJET- An Approach to Accelerometer based Controlled Robot
Robotic Hand
Robotic Arm 5 degree of freedom (5 DOF)
Autonomous vacuum cleaning robot
final review_sri
IRJET- Driver Drowsiness Detection System using Computer Vision
Maze solving quad_rotor
An introduction to Autonomous mobile robots
Car safety system
Human Detection Robot
Inner file 7_naew-5cajk5
Enhanced robotic arm Abstract
Ad

Viewers also liked (19)

PDF
L3 thyristor characterstics contd
PPTX
Image Processing Introduction
PPT
Thyrister/SCR
PPTX
Gate Pulse Triggering of Single Phase Thyristor Circuit through Opto-Coupling
PPTX
Underground cables
PPT
Physics
PPT
Presentation - Geothermal Energy .
PPT
Geothermal energy presentation
PPT
Human eye optics
PDF
Geothermal Power
PPTX
Underground cables
PPTX
Precise kilometer calculation by underground cable fault detector
PPTX
Underground cables
PPT
Cable and laying
PPT
Best ppt on Geothermal powerplant
PPT
Geothermal energy
PPTX
Different types of thyristors and their applications
PPT
Anatomy of eye
L3 thyristor characterstics contd
Image Processing Introduction
Thyrister/SCR
Gate Pulse Triggering of Single Phase Thyristor Circuit through Opto-Coupling
Underground cables
Physics
Presentation - Geothermal Energy .
Geothermal energy presentation
Human eye optics
Geothermal Power
Underground cables
Precise kilometer calculation by underground cable fault detector
Underground cables
Cable and laying
Best ppt on Geothermal powerplant
Geothermal energy
Different types of thyristors and their applications
Anatomy of eye
Ad

Similar to Development of image processing based human tracking and control algorithm for a service robot (20)

PDF
Low Cost Visual Support System for Challenged People
PDF
EMBED SYSTEM FOR ROBOTIC ARM WITH 3 DEGREE OF FREEDOM CONTROLLER USING COMPUT...
PDF
object ttacking real time embdded ystem using imag processing
PPT
MARK ROBOTIC ARM.ppt
PPTX
Robot arm control through human hand motion
DOC
Live Human Detecting Robot for Earthquake Rescue Operation
PPT
MARK ROBOTIC ARM.ppt
DOCX
Rohan resume
PDF
Jun 13 ijbi_002
PDF
Jun 13 ijbi_002
PDF
PERSON ALIVE DETECTION
PPTX
Dharshan INTERNSHIP PPT-1.pptx
PPTX
gesture recognition robot
PPTX
IEEE ACADEMIC PROJECTS
PPTX
Robot arm ppt
PDF
Pc projects
PDF
Gx3512131216
PPTX
Teaching Computer Architecture Labs using a MCU Platform
PDF
IRJET - Implementation of SDC: Self-Driving Car based on Raspberry Pi
DOCX
Bluetooth controller Human detection car.
Low Cost Visual Support System for Challenged People
EMBED SYSTEM FOR ROBOTIC ARM WITH 3 DEGREE OF FREEDOM CONTROLLER USING COMPUT...
object ttacking real time embdded ystem using imag processing
MARK ROBOTIC ARM.ppt
Robot arm control through human hand motion
Live Human Detecting Robot for Earthquake Rescue Operation
MARK ROBOTIC ARM.ppt
Rohan resume
Jun 13 ijbi_002
Jun 13 ijbi_002
PERSON ALIVE DETECTION
Dharshan INTERNSHIP PPT-1.pptx
gesture recognition robot
IEEE ACADEMIC PROJECTS
Robot arm ppt
Pc projects
Gx3512131216
Teaching Computer Architecture Labs using a MCU Platform
IRJET - Implementation of SDC: Self-Driving Car based on Raspberry Pi
Bluetooth controller Human detection car.

Development of image processing based human tracking and control algorithm for a service robot

  • 1. Development of Image Processing based Human Tracking and Control Algorithm for A Service Robot
  • 2. Abstract: This paper presents a human detection algorithm and an obstacle avoidance algorithm for a service robot that provides a service tracking. The mobile robot will have the ability to follow a human and avoid dynamically moving obstacles in an unstructured outdoor environment. To detect a human by an Image processing, we defined features of the human body in xml file and employed a support vector data description method. In order to avoid moving obstacles while tracking a person, we defined an ultrasonic obstacle sensor, each obstacle using the relative distance between the robot and an obstacle. For smoothly by passing obstacles without collision, a dynamic obstacle avoidance algorithm for the service robot is implemented, which directly employed a real-time position vector between the robot and the shortest path around the obstacle.
  • 3. Objective: An Image processing based system is used to detect objects and to follow the path of the environment in robotic systems .In this project, we use a Image processing algorithm to detect a human. The Camera is placed on the robot at torso height and scans an environment at this height. Whenever a human is detected, we use pattern recognition of various shapes in clustered data scanned from a human torso.
  • 4. Existing Method: Proposed Method: In the proposed method we will use Opencv image processing library in order to detect the Human body in the video and track him accordingly where as an ultrasonic sensor will used in order to detect the body distance from the robot and any obstacle present and act accordingly. In the existing method, the concept implemented was based on a non reliable technology in real time, where in an outdoor environment there are more disadvantages that the system can mislead if more humans are in its path.
  • 5. ARM 11 USB camera5V DC SUPPLY L293D Motors Ultrasonic sensor BLOCK DIAGRAM
  • 6.  An ARM 11 architecture based Raspberry pi board is used to implemented the concept, a USB camera will be connected to the board.  Using Open Source Computer Vision library (OpenCV) will train the human body shape and structure to the program.  Whenever a Human body is present in from the camera, the algorithm will detect it and draw a rectangular around the body for identification and starts its movements.  Obstacle Avoidance: If any obstacle is located between a marathoner and the MSR and is moving slower than the MSR, avoiding the obstacle will be done using the ultrasonic sensor and simultaneously the robot will be tracking the human.
  • 7. ARM stands for Advanced RISC Machine The ARM11 is based on the ARMv6 instruction set architecture Bi-endian – can operate in either little-endian or big-endian format Most devices today use little-endian Actually uses two instruction sets – the 32-bit ARM and the 16-bit Thumb
  • 8.  Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard.  It is a capable little computer which can be used in electronics projects, and for many of the things that your desktop PC does, like spreadsheets, word-processing and games.  It also plays high-definition video. We want to see it being used by kids all over the world to learn how computers work, how to manipulate the electronic world around them, and how to program.
  • 9. r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr FIQ IRQ SVC Undef Abort User Mode r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers FIQ IRQ SVC Undef Abort r0 r1 r2 r3 r4 r5 r6 r7 r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers User IRQ SVC Undef Abort r8 r9 r10 r11 r12 r13 (sp) r14 (lr) FIQ ModeIRQ Mode r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers User FIQ SVC Undef Abort r13 (sp) r14 (lr) Undef Mode r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers User FIQ IRQ SVC Abort r13 (sp) r14 (lr) SVC Mode r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers User FIQ IRQ Undef Abort r13 (sp) r14 (lr) Abort Mode r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers User FIQ IRQ SVC Undef r13 (sp) r14 (lr)
  • 10. r8 r9/sb r10/sl r11 r12 r13/sp r14/lr r15/pc r0 r1 r2 r3 r4 r5 r6 r7Register variables Must be preserved Arguments into function Result(s) from function otherwise corruptible (Additional parameters passed on stack) Scratch register (corruptible) Stack Pointer Link Register Program Counter The compiler has a set of rules known as a Procedure Call Standard that determine how to pass parameters to a function (see AAPCS) CPSR flags may be corrupted by function call. Assembler code which links with compiled code must follow the AAPCS at external interfaces The AAPCS is part of the new ABI for the ARM Architecture Register - Stack base - Stack limit if software stack checking selected - R14 can be used as a temporary once value stacked - SP should always be 8-byte (2 word) aligned
  • 11. Camera plays a vital role in automation purpose. The camera is used for monitoring of a room from a remote place. The camera used is a USB camera. Whenever the user clicks on to video button on loaded webpage, the corresponding room video will be streamed on to webpage .For this purpose we use a MJPG streamer. The below figure shows the camera that has been used for monitoring of a room.
  • 12. The sensor is primarily intended to be used in security systems for detection of moving objects, but can be effectively involved in intelligent children’s toys, automatic door opening devices, and sports training and contact- less-speed measurement equipment.
  • 13. This chip contains 4 enable pins. Each enable pin corresponds to 2 inputs. Based on the input values given, the device connected to this IC works accordingly.
  • 14. motors are used to efficiently convert electrical energy into mechanical energy. Magnetism is the basis of their principles of operation. They use permanent magnets, electromagnets and exploit the magnetic properties of materials in order to create these amazing machines DC Motor
  • 15. Implementation: Obstacle Avoidance: If any obstacle is located between a marathoner and the MSR and is moving slower than the MSR, avoiding the obstacle will be done using the ultrasonic sensor and simultaneously the robot will be tracking the human. An ARM 11 architecture based Raspberry pi board is used to implemented the concept, a USB camera will be connected to the board. Using Open Source Computer Vision library (OpenCV) will train the human body shape and structure to the program. Whenever a Human body is present in from the camera, the algorithm will detect it and draw a rectangular around the body for identification and starts its movements.
  • 16. Applications: Conclusion: Advantages:  Security  Industry  High Accuracy  Easy to implement A marathoner service robotic system will be designed for human detection . When the intruder is in front of the sensor than the MSR, the MSR does not consider the intruder as an obstacle but using the algorithm identifies the human body. Therefore, the MSR did not show any avoidance behavior. By applying the modified technique an advanced system will be developed.
  • 17. References: 1. MarathonWorld. (2012). [Online]. Available: http://www.marathonworld.com 2. I. J. Cox and S. L. Hingorani, “An efficient implementation of Reid’s multiple hypothesis tracking algorithm and its evaluation for the purpose of visual tracking,” IEEE Trans. Pattern Anal.Mach. Intell., vol. 18, no. 2, pp. 138–150, Feb. 1996. 3. J. K. Aggarwal and Q. Cai, “Human motion analysis: A review,” in Proc. IEEE Proc. Nonrigid Articulated Motion Workshop, 1997, pp. 90–102. 4. J. MacCormick and A. Blake, “A probabilistic exclusion principle for tracking multiple objects,” in Proc. 7th IEEE Int. Conf. Comput. Vision, 1999, pp. 572– 578.