the crazy camera killing compadres john berglund randy cuaycong wes day andrew fikes kamran shah...
TRANSCRIPT
The Crazy Camera Killing Compadres
John Berglund
Randy Cuaycong
Wes Day
Andrew Fikes
Kamran Shah
Spring 1999 CPSC 483 Proposal
Objective
• Develop an autonomous camera that can identify and track an object in motion
Applications
• Sports Camera Operator
• Surveillance• Population Control
Goals
• Develop a motion tracking algorithm
• Implement an FPGA to camerainterface
• Develop a camera platform
• Develop a memory system
• Implement the algorithm in hardware
Motion Tracking Algorithm
• Initial development on PC– C++ with Microsoft Vision SDK
• Hardware implementation– Xilinx 4010E PC84 FPGA
Environment
• Object smaller than its background
• Uncluttered background
• Rigid object
• High contrast
• Reasonable pace
• Object at a fixed distance
Contrast Algorithm
• Use the rapidly changing grayscale values to identify the object
• Once the object is identified, locate the center of the object and adjust camera
• Only 1 frame required
Subtraction w/ Pattern Matching0 00000 0 0
0 0000255 255 255
0 0000255 255 255
0 0000255 255 255
0 00000 0 0
0 00000 0 0
0 00000 0 0
0 00000 0 0
0 00000 0 0
0 00000 0 0
0 00000 0 0
0 002552550 0 255
0 00255
255
0 0 255
0 002550 0
0 00000 0 0
0 00000 0 0
255
255
0 00000 0 0
0 0000-255 -255 -255
0 0000-255 -255 -255
0 00255255-255 -255 0
0 00255
255
0 0 255
0 002550 0
0 00000 0 0
0 00000 0 0
255
255
Concentric Squares Approach
• Superimposed grid allows for reduction of problem
• Concentric squares act as motion “alarms” to quickly identify objects in motion
1 2 3 4
5 7
16
12
8
9 1110
14 15
6
13
1-Dimensional Algorithm
Benefits of 1-D Solution• Reduced memory requirement
– For a 160x120 pixel image with 8-bits per pixel grayscale:
• Reduced algorithm complexity
2-D 1-D
160x120 x 8 153600 bits
160x16+ 120x15 3720 bits
Xilinx XC4010E
SRAM
Horizontal and Vertical Servos
Servo Control
Motion Detection Hardware
Camera Interface
Camera
System Diagram
Motion Detection Hardware
• Receive and analyze pictures from the Camera Interface
• Send commands to the Camera Interface
• Send commands to the Servo Control subsystem
Camera Interface
• Receive pictures and store them in SRAM
• Send commands to the QuickCam
• Emulate a parallel port
• Interface already defined by previous project team (NetCam)
Servo Control
• Receive commands from Motion Detection Hardware
• Send commands to servos
• Use Pulse Width Modulation (PWM)
Camera Platform
• Camera mount must pivot in two directions
• Servos must be mounted and adjusted
• Servo to FPGA interface must be refined from previous project
Memory System
• System required to store and retrieve at least three images
• Will be implemented using SRAM
• Must interface SRAM with FPGA
System Cost
Equipment Quantity Cost per Unit (US $) Total Cost (US $)JDR PDS500 Solderless BreadBoard with Power Supply
1 89.99 89.99
Connectix QuickCam 1 45.00 45.00Xilinx XC40010E PC84 FPGA 1 81.10 81.10Xilinx demo board 1 Donated 0.00Xilinx DLC4 Cable 1 295.00 295.00CW Socket to PCB Connector 2 Consumable 0.00Toshiba TC55100BFL-70-NDSRAM
1 9.00 9.00
Futaba J TS-55 Servos 2 16.99 33.98Construction Material N/A N/A N/APC with Windows 1 On loan 0.00Visual Studio 6.0 with Vision SDK 1 On loan 0.00BS2-IC Basic Stamp Module 1 49.00 49.00Consumables (Wires, …) N/A 0.00 0.00Test equipment 10.00Total 613.07
Team Responsibilities
Project Area Team MemberAlgorithm Development Andrew, John, Kamran, Randy, WesQuickCam/FPGA Interface Andrew, KamranMechanical/Servo System John, RandyMemory System WesAlgorithm Implementation in FPGA Andrew, John, Kamran, Randy, WesSystem Integration Andrew, John, Kamran, Randy, Wes
System Test
• Plain background
• Horizontal test– Ball rolling across the field of view
• Vertical test– Lowering a ball on string
• Accuracy test by stopping motion abruptly