The Crazy Camera Killing Compadres John Berglund Randy Cuaycong Wes Day Andrew Fikes Kamran Shah...

Post on 01-Apr-2015

212 views 0 download

Tags:

Transcript of The Crazy Camera Killing Compadres John Berglund Randy Cuaycong Wes Day Andrew Fikes Kamran Shah...

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