Date post: | 01-Apr-2015 |
Category: |
Documents |
Upload: | clay-bolding |
View: | 212 times |
Download: | 0 times |
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