tripod: computer vision for classroom instruction and robot … · computer vision fundamentals...

15
1 Paul Y. Oh Drexel University – Mechanical Engineering Program for Robotics, Intelligent Sensing and Mechatronics TRIPOD: Computer Vision for Classroom Instruction and Robot Construction Presentation AAAI Spring Symposium March 22-24, 2004

Upload: others

Post on 29-Jun-2020

3 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

1

Paul Y. OhDrexel University – Mechanical Engineering

Program for Robotics, Intelligent Sensing and Mechatronics

TRIPOD: Computer Vision for Classroom Instruction and Robot Construction

Presentation AAAI Spring Symposium

March 22-24, 2004

Page 2: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Motivation: Research in Seeing Robots and Mechanisms

Visually Servoed Tracking IROS 2002

Head-Mounts for Alleviating Motion Sickness & Balance Disorders

LEAP: Low Elevation Aerial Photography ICRA 2003

CQAR: Closed Quarter Aerial Robots IROS 2003 Visually Servoed Bipeds

Page 3: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Motivation: Undergraduate Robotics and Outreach

US FIRST – High Schools and ASME Future Drexel Teams?

Page 4: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Computer Vision for the Classroom?

Must learn MatlabRobustVFWWindowsMatlab I/A Toolbox

No videoRobustVFWUnix, WindowsMatlab I/P Toolbox

ProprietaryTurnkeyProprietaryWindowsCoreco Sherlock

ExpensiveDocumentationProprietaryWindowsMatrox MIL

Setup difficultOpen, e-CommunityVFWWindowsIntel Open CV

Setup difficultOpen, LibrariesVariousUnixX-Vision, X-Vision 2

ConsProsHardwarePlatformVision Package

Common Denominators:

• ANSI C/C++

• Access to Windows PC

• No DirectX, ActiveX, MFC

• Cost constraints

• Affordable

• Robust

• Customizable

Design Parameters• Teach Computer Vision!

• Microsoft always changing!

Page 5: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Computer Vision for Robot Construction?

• Mechanism Dynamics

• Bandwidth

• Control Laws

• Robustness

• System Integration

Video vs. Images

Need: Classroom training with realistic tools to build realistic systems

Page 6: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

TRIPOD: Template for Real-time Image PrOcessing Development

• Affordable • Robust

• Customizable

Input – Output Window

• Teach Computer Vision!- ANSI C/C++

- Avoids compiler specifics

- Pointer to pixel data

- Open-source

- No royalties

- TRIPOD and QCSDK are free- $50 USB camera

- Logitech SDK

- Frame rate and Video

On-line Tutorial: http://www.boondog.com/

- Windows Compatibility

Page 7: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

1. Open Visual C++

2. Copy TRIPOD template

3. ANSI C/C++ on pixel data

4. Compile

5. Execute and see results

Steps

Philosophy: Learn Computer Vision - Not Compiler

Pentium 3 – 500 MHz – 256 MB RAM – LEGO Camera

Hardware Specs Used:

Page 8: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Project Presentation10

Visual-Servoing Project9

Image-based Visual-Servoing8

Pattern recognition: SSD Tracking7

Kernels and edge detection6

Color recognition and tracking5

TRIPOD exercises: threshold, binary, centroids4

Centroids, areas, clustering3

Memory handling: negatives, thresholds, binary, brightness2

BMP Files, raster data, row-column vectors, pointers1

TopicLecture

Intro to C Programming, Linear Algebra

Classroom Implementation: Envisioned SyllabusComputer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Provide students the fundamentals of computer vision. Emphasis is on understanding the physical principles governing image processing and applying them to solve engineering problems

Objectives:

Pre-requisites:

Description:

Schedule:(3 Hrs/Week)

Text: Myler, H,. The Pocket Handbook of Image Processing Algorithms in C (ISBN: 0-13-642240-3)

Page 9: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Test Case: Independent Study

Visual-Servoing Project

Image analysis, edge detection

Pattern recognition, SSD tracking

http://www.pages.drexel.edu/~weg22/tutorials.html

Page 10: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Test Case: Independent Study

TRIPOD: edge detection

Page 11: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

TRIPOD: How it Works

QCSDK (Low-level)

TRIPOD

QCSDK

• USB Interface• DirectX• Logitech API

TRIPOD (Hi-level)

• Pointer to data• ANSI C/C++• Minimal MFC• Hooks to API

Page 12: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Project: Wireless Imagery for C2 Augmentation

C2 CENTER

Image retrieved from C2

Processed Image(edge enhancement)

PDA SCREEN VIEW

Live view

Wireless 802.11b

Page 13: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Wireless Imagery for C2 AugmentationVideo Demo

Page 14: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Project: Biomimic Human Head-Eye Motion for Servoing

Two Rotational DOF

Camera Point-of-View

Page 15: TRIPOD: Computer Vision for Classroom Instruction and Robot … · Computer vision fundamentals namely segmentation, pattern recognition, edge detection and tracking for robotic systems

Contributions• Free and open source package• Uses widely available and affordable cameras• ANSI C/C++ with minimum MFC• On-line tutorials and code• Integrate LEGO Vision Command with Mindstorms

Conclusions• Suitable for Independent and Honors Study• Can affordably and effectively implement in classroom• Rapidly ascend CV learning curve• Apply concepts to prototype robot-camera systems