Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interactive Space – An application of OpenCV Sam Siciliano.

Similar presentations

Presentation on theme: "Interactive Space – An application of OpenCV Sam Siciliano."— Presentation transcript:

1 Interactive Space – An application of OpenCV Sam Siciliano

2 Overview Who I am and the project background. The System –Components –Communication The Software –APIs –Custom Code –User Interface Ideas, Expansions and Surprises Demonstration and Videos

3 Who I am Graduated summer before last from PSU with a degree in computer engineering Embedded Systems Engineer for Logic Product Development OMSI Employee at the time of the project

4 The Project Portland State University Senior Capstone Project done in conjunction with OMSI Team of 6 Was in OMSI 3-4 months, currently lives on my laptop.

5 The System – Block Diagram

6 The System - Components Technobeam intelligent light fixture –DMX-512 Lighting Protocol –180 degrees pan, 90 degrees tilt –Adjustable colors, patterns via litho wheel and gobos –Iris and adjustable focus

7 The System - Components The DMX-512 transceiver –Shifts from RS-232 to RS-485 –Increases baud rate, from 1152 to 2500

8 The System – Components The Server –Dell, p4 2GHz Machine. –Windows XP Professional –Generic Video Capture Card

9 Software Components Input Video Stream via DirectX 9 and Direct Show Computer Vision Calibration Based Mapping TB/PT Serial Control Classes Frame X vid, Y vid X TB, Y TB

10 Video Capture Via DirectX Direct Show and Filter Graphs Example of Simple Video Capture: Graph Used for the Project:

11 Video Capture Via DirectX Install DirectX 9.0 SDK (note – DirectShow is not included with latest version!!) Use the DirectShow API to Create a Filter Graph –Insert ProxyTrans Filter that comes with OpenCV Define a callback function and start playback

12 Computer Vision Initial Conditions –cvgoodfeaturestotrack –Region and Trigger Selection Tracking –Optical Flow –Point Removal Rules –Centroid Calculation

13 Algorithim Get Trackable Features in ROI (points P[] – 1) Save Frame (Frame N – 1) Get Next Frame (Frame N) Pass in all to OpticalFlow Function To get updated points (P[]) > 0 points in P[]? Calculate Centroid of P[] Send centroid to remapping functions Save Current Frame (now N – 1) Save Current Points (now P – 1) Object Lost No Yes Throw out invalid points in P[]

14 Calibration and Mapping UI setup to gather calibration data points a set of 2 inputs, 2 outputs Points are collected once per given setup Accounts for fish- eye lens distortion

15 Calibration and Mapping - 2 Our problem context: First Solution: get to calibration points (lower left, upper right) to obtain thresholds, linearly scale and shift: ??? X vid (from 0 to 320) Y vid (from 0 to 240) Pan (from 0 to 2 16) Tilt (from 0 to 2 16)

16 Calibration and Mapping - 3 Worked fine with initial camera we were using. When switching though to a camera with a wide angle lens, system wasnt adequate due to fisheye distortion. New Scheme: 9 point calibration and piece-wise linear interpolation.

17 Calibration and Mapping - 4 x 1,y 1, pan 1 x 2,y 2, pan 2 x 3,y 3, pan 3

18 Ideas and Surprises Feedback enabled throwing of the light Hypersonics and Music Use fuzzy logic with camera on pan/tilt unit

19 Questions?

Download ppt "Interactive Space – An application of OpenCV Sam Siciliano."

Similar presentations

Ads by Google