computer vision: parallelize or paralyze

22
Computer Vision: Parallelize or Paralyze Team Purple Threads CSE Capstone 2012 April 2012

Upload: gloria

Post on 24-Feb-2016

33 views

Category:

Documents


1 download

DESCRIPTION

Computer Vision: Parallelize or Paralyze. Team Purple Threads CSE Capstone 2012 April 2012. Abstract. Purple Threads Project Description Motivation System Overview First Steps Target Drone Platform Turret System Final Status. Purple Threads. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Computer Vision:  Parallelize or Paralyze

Computer Vision: Parallelize or Paralyze

Team Purple ThreadsCSE Capstone 2012

April 2012

Page 2: Computer Vision:  Parallelize or Paralyze

Abstract

• Purple Threads• Project Description• Motivation• System Overview• First Steps• Target Drone Platform• Turret System• Final Status

Page 3: Computer Vision:  Parallelize or Paralyze

Purple Threads

Top Row: Duc Tran, Aviral Shrivastava(Sponsor), Gabriel SilvaBottom Row: Nicholas Moulin, Craig Hartmann, Anthony Russo, Nadim Hoque

Page 4: Computer Vision:  Parallelize or Paralyze

Project Description

• This project is a real world system of robots that visually demonstrates the benefits of parallelization for computer vision applications

Page 5: Computer Vision:  Parallelize or Paralyze

Motivation

• Computer vision systems have a wide variety of applications, but are very processor intensive

• Parallelization allows the implementation of more advanced computer vision techniques by removing the bottleneck on the processor

Page 6: Computer Vision:  Parallelize or Paralyze

System Overview

• Project consists of two different robots– Target Drone Platform

• Detect & track projectiles• Avoid projectiles

– Turret System• Detect & track the target • Hit target with foam darts

Page 7: Computer Vision:  Parallelize or Paralyze

First Steps

• Requirement Elicitation– High Level– Low Level

• Hardware/Software Specification• Risk Management• Project Timeline• Budget• Configuring Development Environment

Page 8: Computer Vision:  Parallelize or Paralyze

Target Drone Platform

• Hardware– Traxxas Slash VXL*– ArduPilot Mega w/ IMU Shield– ION Intel Atom Motherboard*– Microsoft Xbox 360 Kinect Sensor*

*Other names and brands may be claimed as the property of others

Page 9: Computer Vision:  Parallelize or Paralyze

Target Drone Platform

• Software– EMGU CV 2.3.0

• Open CV Wrapper (C#)– ArduRover

• Code for ArduPilot– Microsoft Robotics Developer Studio 4*– Kinect for Windows SDK v1.0*

*Other names and brands may be claimed as the property of others

Page 10: Computer Vision:  Parallelize or Paralyze

Target Drone Platform

• Implementation– Assemble Target Drone

• Hardware Components• Power System

– Setup Wireless Access to Drone– Configure Drone Software Stack– Implemented Platform Services through

RDS

Page 11: Computer Vision:  Parallelize or Paralyze

Target Drone Platform

• Implementation– Obtain RGB & Depth Image Data From

Kinect*– Projectile Detection

• Color Threshold– Projectile Tracking– Collision Avoidance Algorithm

*Other names and brands may be claimed as the property of others

Page 12: Computer Vision:  Parallelize or Paralyze

Target Drone Platform

• Setbacks– Foam dart too small to track accurately– Hardware too heavy for original shocks– Depth frame coordinates are offset from

RGB frame coordinates with no translation function

– Dr. Shrivastava crashed the car into a tree!

Page 13: Computer Vision:  Parallelize or Paralyze

Turret System

• Hardware– USB Missile Turret– Microsoft Xbox360 Kinect Sensor*– Arduino Uno– Servos

• Software– OpenCV 2.3.1– Libfreenect– Ubuntu 10.04*

*Other names and brands may be claimed as the property of others

Page 14: Computer Vision:  Parallelize or Paralyze

Turret System

• Implementation– Obtain RGB/Depth Images from Kinect*

Sensor– Object Detection

• Color Threshold• Cascade Classification

– C USB Turret Driver– Program Arduino to Control Servos– C NetDuino Driver

*Other names and brands may be claimed as the property of others

Page 15: Computer Vision:  Parallelize or Paralyze

Turret System

• Implementation– Equations Created to Track Target

• Depth Disparity to Depth(ft)– d_feet = (disparity-824.8)/15.2– d_feet = (0.1236*tan((disparity/2842.5)+1.1863))*3.2808399

• Pixels per Foot depending on Depth– Pixels/Foot = -55.91836*log(d_feet)+177.49225974457

Page 16: Computer Vision:  Parallelize or Paralyze

Turret System

• Setbacks– Original turret configuration not precise

enough– Unable to implement libfreenect driver on

PS3*– Turret caught on fire– Turret mounting unstable

*Other names and brands may be claimed as the property of others

Page 17: Computer Vision:  Parallelize or Paralyze

Turret System

• Turret Tracking and Hitting a Moving Car

• http://youtu.be/r7ccvPGcY8U

Page 18: Computer Vision:  Parallelize or Paralyze

Turret System

• Effect of Parallelization on Turret System

• http://youtu.be/D5yTRKgOykY

Page 19: Computer Vision:  Parallelize or Paralyze

Final StatusMajor Deliverables

Deadline Status

Project Plan 9/26/2011 100%

Unparallelized Turret System

1/31/2012 100%

Unparallelized Target Drone

2/7/2012 100%

Parallelized Robots

2/20/2012 50%

Benchmark Results

2/28/2012 50%

Product Documentation

3/15/2012 100%

Final Delivery of System

3/15/2012 75%

Page 20: Computer Vision:  Parallelize or Paralyze

Questions

?

Page 21: Computer Vision:  Parallelize or Paralyze

Backup Slides

Page 22: Computer Vision:  Parallelize or Paralyze

Turret System

• Implementation– Equations To Track Target

• Horizontal Rotation• Vertical Rotation