Lane Detection in OpenCL

Slides:



Advertisements
Similar presentations
SE263 Video Analytics Course Project Initial Report Presented by M. Aravind Krishnan, SERC, IISc X. Mei and H. Ling, ICCV’09.
Advertisements

Spatial Filtering (Chapter 3)
Biometrics based Cryptosystem Design. Cryptosystem A mechanism using which one can encode an information content to an incomprehensible form and also.
Hilal Tayara ADVANCED INTELLIGENT ROBOTICS 1 Depth Camera Based Indoor Mobile Robot Localization and Navigation.
Activity Recognition Aneeq Zia. Agenda What is activity recognition Typical methods used for action recognition “Evaluation of local spatio-temporal features.
(Includes references to Brian Clipp
Kiyoshi Irie, Tomoaki Yoshida, and Masahiro Tomono 2011 IEEE International Conference on Robotics and Automation Shanghai International Conference Center.
Lab 2 Lab 3 Homework Labs 4-6 Final Project Late No Videos Write up
PHD Approach for Multi-target Tracking
Error Estimation in Digital Image Correlation Caused by Rigid Particles By Xiaodan (Danna) Ke.
Stanford CS223B Computer Vision, Winter 2007 Lecture 12 Tracking Motion Professors Sebastian Thrun and Jana Košecká CAs: Vaibhav Vaish and David Stavens.
Adaptive Rao-Blackwellized Particle Filter and It’s Evaluation for Tracking in Surveillance Xinyu Xu and Baoxin Li, Senior Member, IEEE.
Computer Vision Introduction to Image formats, reading and writing images, and image environments Image filtering.
Robust Lane Detection and Tracking
1 Image Filtering Readings: Ch 5: 5.4, 5.5, 5.6,5.7.3, 5.8 (This lecture does not follow the book.) Images by Pawan SinhaPawan Sinha formal terminology.
Tracking using the Kalman Filter. Point Tracking Estimate the location of a given point along a sequence of images. (x 0,y 0 ) (x n,y n )
Original image: 512 pixels by 512 pixels. Probe is the size of 1 pixel. Picture is sampled at every pixel ( samples taken)
Stanford CS223B Computer Vision, Winter 2007 Lecture 12 Tracking Motion Professors Sebastian Thrun and Jana Košecká CAs: Vaibhav Vaish and David Stavens.
MULTIPLE MOVING OBJECTS TRACKING FOR VIDEO SURVEILLANCE SYSTEMS.
Extraction of Salient Contours in Color Images Vonikakis Vasilios, Ioannis Andreadis and Antonios Gasteratos Democritus University of Thrace
1 An Implementation Sanun Srisuk of EdgeFlow.
Face Processing System Presented by: Harvest Jang Group meeting Fall 2002.
Adaptive Signal Processing Class Project Adaptive Interacting Multiple Model Technique for Tracking Maneuvering Targets Viji Paul, Sahay Shishir Brijendra,
Kalman Tracking for Image Processing Applications Student : Julius Oyeleke Supervisor : Dr Martin Glavin Co-Supervisor : Dr Fearghal Morgan.
Harris Corner Detector on FPGA Rohit Banerjee Jared Choi : Parallel Computer Architecture and Programming.
Parallel Edge Detection Daniel Dobkin Asaf Nitzan.
Particle Filter & Search
Prakash Chockalingam Clemson University Non-Rigid Multi-Modal Object Tracking Using Gaussian Mixture Models Committee Members Dr Stan Birchfield (chair)
BraMBLe: The Bayesian Multiple-BLob Tracker By Michael Isard and John MacCormick Presented by Kristin Branson CSE 252C, Fall 2003.
Brian Renzenbrink Jeff Robble Object Tracking Using the Extended Kalman Particle Filter.
1. Introduction Motion Segmentation The Affine Motion Model Contour Extraction & Shape Estimation Recursive Shape Estimation & Motion Estimation Occlusion.
Elad Hadar Omer Norkin Supervisor: Mike Sumszyk Winter 2010/11, Single semester project. Date:22/4/12 Technion – Israel Institute of Technology Faculty.
Reporter: Fei-Fei Chen. Wide-baseline matching Object recognition Texture recognition Scene classification Robot wandering Motion tracking.
Instructor Notes GPU debugging is still immature, but being improved daily. You should definitely check to see the latest options available before giving.
Computer Science, Software Engineering & Robotics Workshop, FGCU, April 27-28, 2012 Fault Prediction with Particle Filters by David Hatfield mentors: Dr.
Lecture 03 Area Based Image Processing Lecture 03 Area Based Image Processing Mata kuliah: T Computer Vision Tahun: 2010.
Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on an embedded system School of Information Technology & Mathematical Sciences September.
M Institute for Human-Machine Communication Munich University of Technology Sascha Schreiber Face Tracking and Person Action.
COMP322/S2000/L171 Robot Vision System Major Phases in Robot Vision Systems: A. Data (image) acquisition –Illumination, i.e. lighting consideration –Lenses,
CSC508 Convolution Operators. CSC508 Convolution Arguably the most fundamental operation of computer vision It’s a neighborhood operator –Similar to the.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Sean M. Ficht.  Problem Definition  Previous Work  Methods & Theory  Results.
A Tutorial on using SIFT Presented by Jimmy Huff (Slightly modified by Josiah Yoder for Winter )
Course14 Dynamic Vision. Biological vision can cope with changing world Moving and changing objects Change illumination Change View-point.
Lecture 10: Lines from Edges, Interest Points, Binary Operations CAP 5415: Computer Vision Fall 2006.
Implementation and Optimization of SIFT on a OpenCL GPU Final Project 5/5/2010 Guy-Richard Kayombya.
CSE 6367 Computer Vision Image Operations and Filtering “You cannot teach a man anything, you can only help him find it within himself.” ― Galileo GalileiGalileo.
OBJECT TRACKING USING PARTICLE FILTERS. Table of Contents Tracking Tracking Tracking as a probabilistic inference problem Tracking as a probabilistic.
Page 0 of 7 Particle filter - IFC Implementation Particle filter – IFC implementation: Accept file (one frame at a time) Initial processing** Compute autocorrelations,
Image enhancement Last update Heejune Ahn, SeoulTech.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Canny Edge Detection Using an NVIDIA GPU and CUDA Alex Wade CAP6938 Final Project.
Canny Edge Detection. 5 STEPS 5 STEPS Apply Gaussian filter to smooth the image in order to remove the noise Apply Gaussian filter to smooth the image.
Filtering the Images.  Filtering images using low-pass filters  Filtering images using a median filter  Applying directional filters to detect edges.
Performed by:Liran Sperling Gal Braun Instructor: Evgeny Fiksman המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory.
Presentation 3 Ruben Villegas Period: 05/31/2012 – 06/03/2012.
Filters– Chapter 6. Filter Difference between a Filter and a Point Operation is that a Filter utilizes a neighborhood of pixels from the input image to.
General approach: A: action S: pose O: observation Position at time t depends on position previous position and action, and current observation.
Matthew Royle Supervisor: Prof Shaun Bangay.  How do we implement OpenCL for CPUs  Differences in parallel architectures  Is our CPU implementation.
Spatial Filtering (Chapter 3) CS474/674 - Prof. Bebis.
Instantaneous Geo-location of Multiple Targets from Monocular Airborne Video.
Image Transformation 4/30/2009
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Dynamo: A Runtime Codesign Environment
Presented by: Cindy Yan EE6358 Computer Vision
Lecture 10 Image sharpening.
9th Lecture - Image Filters
Image Filtering with GLSL
Tracking Many slides adapted from Kristen Grauman, Deva Ramanan.
Embedded Image Processing: Edge Detection on FPGAs
Presentation transcript:

Lane Detection in OpenCL

Implementation CPU Code CPU + OpenCL Device Code Using C/C++ and OpenCV CPU + OpenCL Device Code CPU Code: Using C/C++ and OpenCV OpenCL Device Code: OpenCL kernels

Implementation | CPU Code

Implementation | CPU Code | Original Image & Selected ROI

Implementation | CPU Code   Sobel Edge-Detector Gradient Matrix : value of an element in gradient matrix at a given : pixel value at a given

Implementation | CPU Code

Implementation | CPU Code | Lane Detection | Lane Detection Schematic

Implementation | CPU Code | Lane Detection | Line Sampling

Implementation | CPU Code | Lane Detection   Assigning Weight to a Line : weight assigned to a line : Neighborhood : value of element chosen by in gradient matrix

Implementation | CPU Code | Lane Detection Extract High-Weight Lines

Implementation | CPU Code | Lane Detection | Lane Detection Schematic

Implementation | CPU Code

Implementation | CPU Code | Lane Tracking Particle Filter developed in two phases Particle Filter for Tracking a Robot in 2D Particle Filter for Lane Tracking

Implementation | CPU Code | Lane Tracking Particle Filter developed in two phases Particle Filter for Tracking a Robot in 2D Particle Filter for Lane Tracking

Implementation | CPU Code | Lane Tracking | Particle Filter for Tracking a Robot in 2D

Lane Tracking Schematic Implementation | CPU Code | Lane Tracking | Particle Filter for Tracking a Robot in 2D Lane Tracking Schematic

Motion Update / Prediction Update Implementation | CPU Code | Lane Tracking | Particle Filter for Tracking a Robot in 2D   Motion Update / Prediction Update (X, Y, ϴ): Position and Orientation of a particle (, , ): Translational and Angular Velocities of a particle

Implementation | CPU Code | Lane Tracking | Particle Filter for Tracking a Robot in 2D   Measurement Update / Correction Update Evidence Likelihoods are obtained from Normalization

Lane Tracking Schematic Implementation | CPU Code | Lane Tracking | Particle Filter for Tracking a Robot in 2D Lane Tracking Schematic

Implementation | CPU Code | Lane Tracking | Particle Filter for Tracking a Robot in 2D

Implementation | CPU Code | Lane Tracking | Particle Filter for Tracking a Robot in 2D

Implementation | CPU Code | Lane Tracking Particle Filter developed in two phases Particle Filter for Tracking a Robot in 2D Particle Filter for Lane Tracking

Implementation | CPU Code | Lane Tracking | Particle Filter for Lane Tracking

Lane Tracking Schematic Implementation | CPU Code | Lane Tracking | Particle Filter for Tracking a Robot in 2D Lane Tracking Schematic

Implementation CPU Code CPU + OpenCL Device Code Using C/C++ and OpenCV CPU + OpenCL Device Code CPU Code: Using C/C++ and OpenCV OpenCL Device Code: OpenCL kernels

Implementation | CPU + OpenCL Device Code | OpenCL OpenCL divides any given problem into Platform Model Execution Model Memory Model Programming Model

Implementation | CPU + OpenCL Device Code | Platform Model

Implementation | CPU + OpenCL Device Code | Execution Model

Implementation | CPU + OpenCL Device Code | Memory Model

Implementation | CPU + OpenCL Device Code | Programming Model

Implementation | CPU Code

Implementation | CPU + OpenCL Device Code

Implementation | CPU + OpenCL Device Code Kernel 1: Lane Detection’s Device Code Creates Lines Kernel 2: Lane Tracking’s Device Code Motion Update Measurement Update

Implementation | CPU + OpenCL Device Code | OpenCL Execution Schematic

Implementation | CPU + OpenCL Device Code | OpenCL Execution Schematic Schematic for execution on Altera FPGA