SlideShare une entreprise Scribd logo
1  sur  30
A VISION-BASED LANE TRACKING
SYSTEM FOR AUTONOMOUS DRIVING
USING KALMAN FILTER
Department of Information Engineering
University of Pisa
A. Biondi – .
F. Corucci – .
2011
Project for Digital Control class
Prof. A. Balestrino, Prof. A. Landi
Aim of the project
 Build a vision-based lane tracking system using
Kalman filter
 Test Kalman filter effectiveness in a practical noisy
scenario
 Experience with some computer vision algorithms
and techniques
Project for Digital Control class - University of Pisa 2
Why lane tracking is useful?
Lane
tracking
Steering
control to
follow the
road
Camera
view
 Vision-based lane
tracking is commonly
used to build
autonomous cars
capable of following a
road without human
intervention
Project for Digital Control class - University of Pisa 3
Video acquisition
 In order to collect a
dataset to work with, we
placed a netbook on an
hand-cart and recorded
a video from the
webcam while following
a realistic circuit as best
as possible
Project for Digital Control class - University of Pisa 4
Video acquisition
Project for Digital Control class - University of Pisa 5
RGB video frame grabbed from the webcam
Image preprocessing - Overview
Project for Digital Control class - University of Pisa 6
 Some preprocessing is needed on the RGB video frame
in order to perform feature discrimination:
RGB frame
Grayscale
Equalization Filtering
Binarization
Edge detection
Grayscale conversion
Project for Digital Control class - University of Pisa 7
Grayscale video frame
Color distribution
Floor
Lane
markers
Enhancing color separation
Project for Digital Control class - University of Pisa 8
Enhanced color
separation
Resulting color distribution
Floor
Lane
markers
This was achieved using the
decorrelation stretch method,
commonly used for feature
discrimination in images.
(Correlated images does not
usually have sharp contours)
Filtering floor components
Project for Digital Control class - University of Pisa 9
Image after filtering
Resulting color distribution
Floor
Lane
markers
FILTER
This was achieved enhancing the
image contrast through color
saturation (with appropriate
thresholds).
Floor is saturated to black
Image binarization
Project for Digital Control class - University of Pisa 10
Binarized image
 The image is now a matrix of 0 and 1
Edge detection
 Once the interesting features (i.e. lane marks) are
enhanced, we detect edges in the video frame, in
order to identify lane-marks contours to be
followed
 The Canny algorithm (a derivative filter) was used
for this purpose
Project for Digital Control class - University of Pisa 11
Edge detection - Canny
Project for Digital Control class - University of Pisa 12
Frame after Canny application
The linear contours are now clearly identifiable
Line detection
 We are now able to extrapolate the analytic
equations of the lane-mark borders
 At the first frame, we have no idea of where lane
marks could be, so we need to perform a global
scan
 We used the Hough Transformation in order to
detect lines in this situation
Project for Digital Control class - University of Pisa 13
Outline on Hough transformation
Project for Digital Control class - University of Pisa 14
θ
 Allows to discriminate features
described by an analytical
equation
 It has been generalized in order
to detect arbitrarily complex
shapes
 The problem of searching for a
feature is translated in a max
problem
Example of Hough
detection on a complex
shape
More on Hough transformation
Project for Digital Control class - University of Pisa 15
θ
 The equation that ties the curve parameters 𝑎𝑖 to the
coordinates 𝑥, 𝑦 looks like:
𝑓 𝑥, 𝑦 , 𝑎1, … , 𝑎 𝑛 = 0
 Every point 𝑥𝑖, 𝑦𝑖 of the image space generates a
hyper-curve in the parametric space
 A point in the parametric space identifies uniquely a
curve in the image space
 N points of the image space generate N curves in the
parametric space with a common intersection that is the
curve on which they possibly lie on
More on Hough transformation
Project for Digital Control class - University of Pisa 16
θ
 In our case the curves in the parametric space are still
lines
𝑦 = 𝑚𝑥 + 𝑞 → 𝑓 𝑥, 𝑦 , 𝑚, 𝑞 = 0
 Given a point 𝑥𝑖, 𝑦𝑖 , the parametric equation is
𝑞 = 𝑦𝑖 − 𝑚 ∗ 𝑥𝑖
 Every intersection in the parameter space is interpreted
as a vote for the corresponding curve
 A curve that has lot of votes identifies (with a certain
confidence) a relevant feature
Line detection
Project for Digital Control class - University of Pisa 17
Hough transform parameters space
Peaks identifiyng lines
Detected lines,
superimposed on the
original RGB frame
θ
Inverse perspective transform
 Work in perspective space is not convenient
 A common way to avoid it is performing an inverse
perspective transformation (→ Bird’s Eye view)
 The achieved «virtual» top view is much more
convenient in order to measure the distances and
the angles we need
 Various auxiliary operation in our application are
performed in this space
Project for Digital Control class - University of Pisa 18
Inverse perspective transform
Project for Digital Control class - University of Pisa 19
I → W map
Inverse perspective transform
Project for Digital Control class - University of Pisa 20
Bird’s eye view («virtual» top view)
I space
W space
Perspective view
So, where’s Kalman?
 The problem with this approach is that performing a
HoughTransformation on the whole image is
computationally heavy: with a reasonable video frame
rate for a driving application, there is no time to
perform Hough between two subsequent frames
We can exploit Kalman to drastically reduce the search
area in every frame and subsequently detect lane-markers
in a computationally efficient way
Project for Digital Control class - University of Pisa 21
Kalman – the intuition
 Once we have an idea of where the lane marks are at the
first frame, a Kalman filter is used in order to predict where
the lane marks will be in the next video frame
 The system then evolves step-by-step, frame after frame,
through Kalman predictions, until this is possible (i.e.
Kalman is able to lock-on the lane mark)
 Every Kalman prediction identifies a very thin region of the
next frame, in which we can perform a local search in a very
efficient way (preprocessing, binarization, pixels fit)
 If something goes wrong and we are not able to identify the
lane mark in the predicted band, a global Hough scan is
performed
Project for Digital Control class - University of Pisa 22
Algorithm overview
Project for Digital Control class - University of Pisa 23
1-st frame
• Hough detection
• Kalman initialization
• Kalman prediction for frame no. 2
k-th frame
• Fit inside Kalman predicted band
• If fit fails -> Perform Hough Detection and init. Kalman
• Kalman prediction for frame no. K+1
…
…
…
…
Model details
𝐴 𝑘+1= 𝐹𝐴 𝑘 + 𝐺𝑢 𝑘+ 𝑤 𝑘
𝑦 𝑘 = 𝐻𝐴 𝑘+ 𝑣 𝑘
Project for Digital Control class - University of Pisa 24
 𝑨 = state vector =
𝒎
𝒒
Where 𝑚 and 𝑞 are coefficients of a line expressed as: 𝑦 = 𝑚𝑥 + 𝑞
A linear model was sufficient for our short-range view
 𝑭 = autonomous dynamic
Models the evolution of the state when no input is applied. In order to simplify the
model, considered the low velocity and the high frame rate, we have taken 𝐹 = 𝐼
 𝒖 = input vector, models the vehicle steering (here simulated)
 𝑮 = maps the input on the state
 𝒘 𝒌 = process noise ~ 𝑵(𝟎, 𝑷)
 𝒗 𝒌 = measure noise (fit error due to pixel discretization) ~ 𝑵(𝟎, 𝑸)
 𝒚 𝒌 = output (for us, output = state)
 𝑯 = maps state on the output (for us, 𝐻 = 𝐼)
Kalman algorithm
Project for Digital Control class - University of Pisa 25
 𝑃𝑘 = covariance matrix of the process noise 𝒘
 𝑄 𝑘 = covariance matrix of the measurement noise 𝒗
 𝐾𝑘 = Kalman gain
Predicted state Estimated state
Kalman-based detection
Project for Digital Control class - University of Pisa 26
Left lane-mark Right lane-mark Legend:
- Green region:
Kalman predicted
band
- Blue line:
Fitted line
- White line:
Lane-mark
contour (real
pixels)
Experimental results
Project for Digital Control class - University of Pisa 27
<video simulation>
 As shown in the simulation, Kalman is able to track
lane-marks without problems, even:
 in presence of sudden anomalous car movements
 with a simplified linear model (the curve is well tracked!)
 with a simplified model that does not consider the autonomous
dynamic of the system
 Hough recalculation is triggered only when the left lane-
mark disappears from the camera-field: a polling mode
is triggered in this situation, and the lane-mark is
locked-on again when it returns in the camera-field
Future work
Project for Digital Control class - University of Pisa 28
 Use the tracking information in order to make a
vehicle autonomously follow the circuit (a simple
PID can be used to control the steering)
 Simulation
 Implementation
 Mounting a netbook running MATLAB on a toy car equipped with a
camera
 DSP + μcontroller based implementation
Bibliography
Project for Digital Control class - University of Pisa 29
 «A massively parallel approach to real-time
vision-based road markings detection»
Alberto Broggi – University of Parma
http://www.ce.unipr.it/people/broggi/publications/detroit.pdf
 «Lane detection and Kalman-based
linear-parabolic lane tracking»
Lim, Seng,Ang, Chin -The University of Nottingham Malaysia campus
Published at IHMSC’09 - Intelligent Human-Machine Systems and Cybernetics
 «La trasformata di Hough»
Padova University, Computer vision course 07/08
http://vision.unipv.it/corsi/VisioneArtificiale-ls/lucidi/VA-06.pdf
Thank you!
Project for Digital Control class - University of Pisa 30

Contenu connexe

Tendances

Managing Your Infrastructure as Code
Managing Your Infrastructure as CodeManaging Your Infrastructure as Code
Managing Your Infrastructure as CodeAmazon Web Services
 
Best Practices for Running SQL Server on Amazon RDS (DAT323) - AWS re:Invent ...
Best Practices for Running SQL Server on Amazon RDS (DAT323) - AWS re:Invent ...Best Practices for Running SQL Server on Amazon RDS (DAT323) - AWS re:Invent ...
Best Practices for Running SQL Server on Amazon RDS (DAT323) - AWS re:Invent ...Amazon Web Services
 
Neural Scene Representation & Rendering: Introduction to Novel View Synthesis
Neural Scene Representation & Rendering: Introduction to Novel View SynthesisNeural Scene Representation & Rendering: Introduction to Novel View Synthesis
Neural Scene Representation & Rendering: Introduction to Novel View SynthesisVincent Sitzmann
 
A Walk in the GAN Zoo
A Walk in the GAN ZooA Walk in the GAN Zoo
A Walk in the GAN ZooLarry Guo
 
AlphaGo in Depth
AlphaGo in Depth AlphaGo in Depth
AlphaGo in Depth Mark Chang
 
입문 Visual SLAM 14강 - 2장 Introduction to slam
입문 Visual SLAM 14강  - 2장 Introduction to slam입문 Visual SLAM 14강  - 2장 Introduction to slam
입문 Visual SLAM 14강 - 2장 Introduction to slamjdo
 
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...Unity Technologies
 
Deep Domain Adaptation Network for Face Recognition with Single Sample Per Pe...
Deep Domain Adaptation Network for Face Recognition with Single Sample Per Pe...Deep Domain Adaptation Network for Face Recognition with Single Sample Per Pe...
Deep Domain Adaptation Network for Face Recognition with Single Sample Per Pe...NAVER Engineering
 
Infrastructure Automation on AWS using a Real-World Customer Example - Sessio...
Infrastructure Automation on AWS using a Real-World Customer Example - Sessio...Infrastructure Automation on AWS using a Real-World Customer Example - Sessio...
Infrastructure Automation on AWS using a Real-World Customer Example - Sessio...Amazon Web Services
 
Building a Secured Network environment on AWS
Building a Secured Network environment on AWSBuilding a Secured Network environment on AWS
Building a Secured Network environment on AWSAmazon Web Services
 
LTV from Ads. Challenge and solution: Huuuge Games and Tap Tap Games example
LTV from Ads. Challenge and solution: Huuuge Games and Tap Tap Games exampleLTV from Ads. Challenge and solution: Huuuge Games and Tap Tap Games example
LTV from Ads. Challenge and solution: Huuuge Games and Tap Tap Games exampleGameCamp
 
SPH 기법을 이용한 2D 물 물리 엔진 개발
SPH 기법을 이용한 2D 물 물리 엔진 개발SPH 기법을 이용한 2D 물 물리 엔진 개발
SPH 기법을 이용한 2D 물 물리 엔진 개발SeongWan Kim
 
시계열 예측 자동화를 위한 Amazon Forecast 기반 MLOps 파이프라인 구축하기 - 김주영, 이동민 AWS 솔루션즈 아키텍트 :...
시계열 예측 자동화를 위한 Amazon Forecast 기반 MLOps 파이프라인 구축하기 - 김주영, 이동민 AWS 솔루션즈 아키텍트 :...시계열 예측 자동화를 위한 Amazon Forecast 기반 MLOps 파이프라인 구축하기 - 김주영, 이동민 AWS 솔루션즈 아키텍트 :...
시계열 예측 자동화를 위한 Amazon Forecast 기반 MLOps 파이프라인 구축하기 - 김주영, 이동민 AWS 솔루션즈 아키텍트 :...Amazon Web Services Korea
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...Amazon Web Services
 
Cascades Demo Secrets
Cascades Demo SecretsCascades Demo Secrets
Cascades Demo Secretsicastano
 
Finding connections among images using CycleGAN
Finding connections among images using CycleGANFinding connections among images using CycleGAN
Finding connections among images using CycleGANNAVER Engineering
 
LINE Pay-在傳統的支付架構/環境所提供的支付服務
LINE Pay-在傳統的支付架構/環境所提供的支付服務LINE Pay-在傳統的支付架構/環境所提供的支付服務
LINE Pay-在傳統的支付架構/環境所提供的支付服務LINE Corporation
 
Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...
Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...
Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...JaeJun Yoo
 

Tendances (20)

Managing Your Infrastructure as Code
Managing Your Infrastructure as CodeManaging Your Infrastructure as Code
Managing Your Infrastructure as Code
 
Best Practices for Running SQL Server on Amazon RDS (DAT323) - AWS re:Invent ...
Best Practices for Running SQL Server on Amazon RDS (DAT323) - AWS re:Invent ...Best Practices for Running SQL Server on Amazon RDS (DAT323) - AWS re:Invent ...
Best Practices for Running SQL Server on Amazon RDS (DAT323) - AWS re:Invent ...
 
Neural Scene Representation & Rendering: Introduction to Novel View Synthesis
Neural Scene Representation & Rendering: Introduction to Novel View SynthesisNeural Scene Representation & Rendering: Introduction to Novel View Synthesis
Neural Scene Representation & Rendering: Introduction to Novel View Synthesis
 
A Walk in the GAN Zoo
A Walk in the GAN ZooA Walk in the GAN Zoo
A Walk in the GAN Zoo
 
AlphaGo in Depth
AlphaGo in Depth AlphaGo in Depth
AlphaGo in Depth
 
입문 Visual SLAM 14강 - 2장 Introduction to slam
입문 Visual SLAM 14강  - 2장 Introduction to slam입문 Visual SLAM 14강  - 2장 Introduction to slam
입문 Visual SLAM 14강 - 2장 Introduction to slam
 
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...
 
Deep Domain Adaptation Network for Face Recognition with Single Sample Per Pe...
Deep Domain Adaptation Network for Face Recognition with Single Sample Per Pe...Deep Domain Adaptation Network for Face Recognition with Single Sample Per Pe...
Deep Domain Adaptation Network for Face Recognition with Single Sample Per Pe...
 
AWS Deployment Best Practices
AWS Deployment Best PracticesAWS Deployment Best Practices
AWS Deployment Best Practices
 
Infrastructure Automation on AWS using a Real-World Customer Example - Sessio...
Infrastructure Automation on AWS using a Real-World Customer Example - Sessio...Infrastructure Automation on AWS using a Real-World Customer Example - Sessio...
Infrastructure Automation on AWS using a Real-World Customer Example - Sessio...
 
20191019 sinkhorn
20191019 sinkhorn20191019 sinkhorn
20191019 sinkhorn
 
Building a Secured Network environment on AWS
Building a Secured Network environment on AWSBuilding a Secured Network environment on AWS
Building a Secured Network environment on AWS
 
LTV from Ads. Challenge and solution: Huuuge Games and Tap Tap Games example
LTV from Ads. Challenge and solution: Huuuge Games and Tap Tap Games exampleLTV from Ads. Challenge and solution: Huuuge Games and Tap Tap Games example
LTV from Ads. Challenge and solution: Huuuge Games and Tap Tap Games example
 
SPH 기법을 이용한 2D 물 물리 엔진 개발
SPH 기법을 이용한 2D 물 물리 엔진 개발SPH 기법을 이용한 2D 물 물리 엔진 개발
SPH 기법을 이용한 2D 물 물리 엔진 개발
 
시계열 예측 자동화를 위한 Amazon Forecast 기반 MLOps 파이프라인 구축하기 - 김주영, 이동민 AWS 솔루션즈 아키텍트 :...
시계열 예측 자동화를 위한 Amazon Forecast 기반 MLOps 파이프라인 구축하기 - 김주영, 이동민 AWS 솔루션즈 아키텍트 :...시계열 예측 자동화를 위한 Amazon Forecast 기반 MLOps 파이프라인 구축하기 - 김주영, 이동민 AWS 솔루션즈 아키텍트 :...
시계열 예측 자동화를 위한 Amazon Forecast 기반 MLOps 파이프라인 구축하기 - 김주영, 이동민 AWS 솔루션즈 아키텍트 :...
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
 
Cascades Demo Secrets
Cascades Demo SecretsCascades Demo Secrets
Cascades Demo Secrets
 
Finding connections among images using CycleGAN
Finding connections among images using CycleGANFinding connections among images using CycleGAN
Finding connections among images using CycleGAN
 
LINE Pay-在傳統的支付架構/環境所提供的支付服務
LINE Pay-在傳統的支付架構/環境所提供的支付服務LINE Pay-在傳統的支付架構/環境所提供的支付服務
LINE Pay-在傳統的支付架構/環境所提供的支付服務
 
Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...
Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...
Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Anal...
 

En vedette

Edge Detection using Hough Transform
Edge Detection using Hough TransformEdge Detection using Hough Transform
Edge Detection using Hough TransformMrunal Selokar
 
Ieeepro techno solutions 2013 ieee embedded project - integrated lane and ...
Ieeepro techno solutions   2013 ieee embedded project  - integrated lane and ...Ieeepro techno solutions   2013 ieee embedded project  - integrated lane and ...
Ieeepro techno solutions 2013 ieee embedded project - integrated lane and ...srinivasanece7
 
Обзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектовОбзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектовMSU GML VideoGroup
 
Plane rectification through robust vanishing point tracking using the expecta...
Plane rectification through robust vanishing point tracking using the expecta...Plane rectification through robust vanishing point tracking using the expecta...
Plane rectification through robust vanishing point tracking using the expecta...Sergio Mancera
 
Devoxx4Kids workshop - Programming a humanoid robot - english version
Devoxx4Kids workshop - Programming a humanoid robot - english versionDevoxx4Kids workshop - Programming a humanoid robot - english version
Devoxx4Kids workshop - Programming a humanoid robot - english versionNicolas Rigaud
 
NAO Programming using .NET and Webots 01-Introduction to NAO
NAO Programming using .NET and  Webots 01-Introduction to NAONAO Programming using .NET and  Webots 01-Introduction to NAO
NAO Programming using .NET and Webots 01-Introduction to NAOSetiawan Hadi
 
Алексей Кутумов, Coroutines everywhere
Алексей Кутумов, Coroutines everywhereАлексей Кутумов, Coroutines everywhere
Алексей Кутумов, Coroutines everywhereSergey Platonov
 
Automated & Autonomous Driving
Automated & Autonomous DrivingAutomated & Autonomous Driving
Automated & Autonomous DrivingRoger Atkins
 
Mercedes-Benz Autonomous Driving / Shazam Project
Mercedes-Benz Autonomous Driving / Shazam ProjectMercedes-Benz Autonomous Driving / Shazam Project
Mercedes-Benz Autonomous Driving / Shazam ProjectEkrem Şişeci
 
HYVE autonomous driving report
HYVE autonomous driving reportHYVE autonomous driving report
HYVE autonomous driving reportMichael Bartl
 
Kalman filter - Applications in Image processing
Kalman filter - Applications in Image processingKalman filter - Applications in Image processing
Kalman filter - Applications in Image processingRavi Teja
 
Roadmap to Future Roads
Roadmap to Future RoadsRoadmap to Future Roads
Roadmap to Future RoadsAli Maleki
 
Алексей Кутумов, C++ без исключений, часть 3
Алексей Кутумов,  C++ без исключений, часть 3Алексей Кутумов,  C++ без исключений, часть 3
Алексей Кутумов, C++ без исключений, часть 3Platonov Sergey
 
Roadmap to the Future Roads
Roadmap to the Future RoadsRoadmap to the Future Roads
Roadmap to the Future RoadsAli Maleki
 
NVIDIA CES 2016 Press Conference
NVIDIA CES 2016 Press ConferenceNVIDIA CES 2016 Press Conference
NVIDIA CES 2016 Press ConferenceNVIDIA
 
Autonomous vehicles: becoming economically feasible through improvements in l...
Autonomous vehicles: becoming economically feasible through improvements in l...Autonomous vehicles: becoming economically feasible through improvements in l...
Autonomous vehicles: becoming economically feasible through improvements in l...Jeffrey Funk
 

En vedette (17)

Edge Detection using Hough Transform
Edge Detection using Hough TransformEdge Detection using Hough Transform
Edge Detection using Hough Transform
 
Ieeepro techno solutions 2013 ieee embedded project - integrated lane and ...
Ieeepro techno solutions   2013 ieee embedded project  - integrated lane and ...Ieeepro techno solutions   2013 ieee embedded project  - integrated lane and ...
Ieeepro techno solutions 2013 ieee embedded project - integrated lane and ...
 
Обзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектовОбзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектов
 
Plane rectification through robust vanishing point tracking using the expecta...
Plane rectification through robust vanishing point tracking using the expecta...Plane rectification through robust vanishing point tracking using the expecta...
Plane rectification through robust vanishing point tracking using the expecta...
 
Devoxx4Kids workshop - Programming a humanoid robot - english version
Devoxx4Kids workshop - Programming a humanoid robot - english versionDevoxx4Kids workshop - Programming a humanoid robot - english version
Devoxx4Kids workshop - Programming a humanoid robot - english version
 
NAO Programming using .NET and Webots 01-Introduction to NAO
NAO Programming using .NET and  Webots 01-Introduction to NAONAO Programming using .NET and  Webots 01-Introduction to NAO
NAO Programming using .NET and Webots 01-Introduction to NAO
 
Алексей Кутумов, Coroutines everywhere
Алексей Кутумов, Coroutines everywhereАлексей Кутумов, Coroutines everywhere
Алексей Кутумов, Coroutines everywhere
 
Automated & Autonomous Driving
Automated & Autonomous DrivingAutomated & Autonomous Driving
Automated & Autonomous Driving
 
Mercedes-Benz Autonomous Driving / Shazam Project
Mercedes-Benz Autonomous Driving / Shazam ProjectMercedes-Benz Autonomous Driving / Shazam Project
Mercedes-Benz Autonomous Driving / Shazam Project
 
HYVE autonomous driving report
HYVE autonomous driving reportHYVE autonomous driving report
HYVE autonomous driving report
 
Kalman filter
Kalman filterKalman filter
Kalman filter
 
Kalman filter - Applications in Image processing
Kalman filter - Applications in Image processingKalman filter - Applications in Image processing
Kalman filter - Applications in Image processing
 
Roadmap to Future Roads
Roadmap to Future RoadsRoadmap to Future Roads
Roadmap to Future Roads
 
Алексей Кутумов, C++ без исключений, часть 3
Алексей Кутумов,  C++ без исключений, часть 3Алексей Кутумов,  C++ без исключений, часть 3
Алексей Кутумов, C++ без исключений, часть 3
 
Roadmap to the Future Roads
Roadmap to the Future RoadsRoadmap to the Future Roads
Roadmap to the Future Roads
 
NVIDIA CES 2016 Press Conference
NVIDIA CES 2016 Press ConferenceNVIDIA CES 2016 Press Conference
NVIDIA CES 2016 Press Conference
 
Autonomous vehicles: becoming economically feasible through improvements in l...
Autonomous vehicles: becoming economically feasible through improvements in l...Autonomous vehicles: becoming economically feasible through improvements in l...
Autonomous vehicles: becoming economically feasible through improvements in l...
 

Similaire à Implementation of a lane-tracking system for autonomous driving using Kalman filter

Smart Control of Traffic Signal System using Image Processing
Smart Control of Traffic Signal System using Image Processing Smart Control of Traffic Signal System using Image Processing
Smart Control of Traffic Signal System using Image Processing Raihan Bin-Mofidul
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigationguest90654fd
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigationguest90654fd
 
Anomaly Detection of Human Movements in Pedestrian walkway
Anomaly Detection of Human Movements in Pedestrian walkwayAnomaly Detection of Human Movements in Pedestrian walkway
Anomaly Detection of Human Movements in Pedestrian walkwayGokul Nathan
 
Visual odometry & slam utilizing indoor structured environments
Visual odometry & slam utilizing indoor structured environmentsVisual odometry & slam utilizing indoor structured environments
Visual odometry & slam utilizing indoor structured environmentsNAVER Engineering
 
LANE DETECTION USING IMAGE PROCESSING IN PYTHON
LANE DETECTION USING IMAGE PROCESSING IN PYTHONLANE DETECTION USING IMAGE PROCESSING IN PYTHON
LANE DETECTION USING IMAGE PROCESSING IN PYTHONIRJET Journal
 
APPLICATION OF IP TECHNIQUES IN TRAFFIC CONTROL SYSTEM
APPLICATION OF IP TECHNIQUES IN TRAFFIC CONTROL SYSTEMAPPLICATION OF IP TECHNIQUES IN TRAFFIC CONTROL SYSTEM
APPLICATION OF IP TECHNIQUES IN TRAFFIC CONTROL SYSTEMAshik Ask
 
Cozzella presentation ICAPMMOMI 2010
Cozzella presentation ICAPMMOMI 2010Cozzella presentation ICAPMMOMI 2010
Cozzella presentation ICAPMMOMI 2010Lorenzo Cozzella
 
Portfolio - Ramsundar K G
Portfolio - Ramsundar K GPortfolio - Ramsundar K G
Portfolio - Ramsundar K GRamsundar K G
 
Automatism System Using Faster R-CNN and SVM
Automatism System Using Faster R-CNN and SVMAutomatism System Using Faster R-CNN and SVM
Automatism System Using Faster R-CNN and SVMIRJET Journal
 
Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...
Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...
Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...Poo Kuan Hoong
 
eric-yilin cv presentation
eric-yilin cv presentationeric-yilin cv presentation
eric-yilin cv presentationYujia Huang
 
Efficient Traffic Control System Presentation
Efficient Traffic Control System PresentationEfficient Traffic Control System Presentation
Efficient Traffic Control System PresentationSyed Umaid Ahmed
 
Road signs detection using voila jone's algorithm with the help of opencv
Road signs detection using voila jone's algorithm with the help of opencvRoad signs detection using voila jone's algorithm with the help of opencv
Road signs detection using voila jone's algorithm with the help of opencvMohdSalim34
 
Driver drowsiness and lane detection screenshots
Driver drowsiness and lane detection screenshotsDriver drowsiness and lane detection screenshots
Driver drowsiness and lane detection screenshotsVenkat Projects
 

Similaire à Implementation of a lane-tracking system for autonomous driving using Kalman filter (20)

Smart Control of Traffic Signal System using Image Processing
Smart Control of Traffic Signal System using Image Processing Smart Control of Traffic Signal System using Image Processing
Smart Control of Traffic Signal System using Image Processing
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigation
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigation
 
Parking lot
Parking lotParking lot
Parking lot
 
Anomaly Detection of Human Movements in Pedestrian walkway
Anomaly Detection of Human Movements in Pedestrian walkwayAnomaly Detection of Human Movements in Pedestrian walkway
Anomaly Detection of Human Movements in Pedestrian walkway
 
Densebox
DenseboxDensebox
Densebox
 
Visual odometry & slam utilizing indoor structured environments
Visual odometry & slam utilizing indoor structured environmentsVisual odometry & slam utilizing indoor structured environments
Visual odometry & slam utilizing indoor structured environments
 
mid_presentation
mid_presentationmid_presentation
mid_presentation
 
LANE DETECTION USING IMAGE PROCESSING IN PYTHON
LANE DETECTION USING IMAGE PROCESSING IN PYTHONLANE DETECTION USING IMAGE PROCESSING IN PYTHON
LANE DETECTION USING IMAGE PROCESSING IN PYTHON
 
APPLICATION OF IP TECHNIQUES IN TRAFFIC CONTROL SYSTEM
APPLICATION OF IP TECHNIQUES IN TRAFFIC CONTROL SYSTEMAPPLICATION OF IP TECHNIQUES IN TRAFFIC CONTROL SYSTEM
APPLICATION OF IP TECHNIQUES IN TRAFFIC CONTROL SYSTEM
 
Cozzella presentation ICAPMMOMI 2010
Cozzella presentation ICAPMMOMI 2010Cozzella presentation ICAPMMOMI 2010
Cozzella presentation ICAPMMOMI 2010
 
Portfolio - Ramsundar K G
Portfolio - Ramsundar K GPortfolio - Ramsundar K G
Portfolio - Ramsundar K G
 
Automatism System Using Faster R-CNN and SVM
Automatism System Using Faster R-CNN and SVMAutomatism System Using Faster R-CNN and SVM
Automatism System Using Faster R-CNN and SVM
 
Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...
Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...
Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...
 
Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...
Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...
Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...
 
Fb4301931934
Fb4301931934Fb4301931934
Fb4301931934
 
eric-yilin cv presentation
eric-yilin cv presentationeric-yilin cv presentation
eric-yilin cv presentation
 
Efficient Traffic Control System Presentation
Efficient Traffic Control System PresentationEfficient Traffic Control System Presentation
Efficient Traffic Control System Presentation
 
Road signs detection using voila jone's algorithm with the help of opencv
Road signs detection using voila jone's algorithm with the help of opencvRoad signs detection using voila jone's algorithm with the help of opencv
Road signs detection using voila jone's algorithm with the help of opencv
 
Driver drowsiness and lane detection screenshots
Driver drowsiness and lane detection screenshotsDriver drowsiness and lane detection screenshots
Driver drowsiness and lane detection screenshots
 

Plus de Francesco Corucci

Teleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetTeleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetFrancesco Corucci
 
Real-time PID control of an inverted pendulum
Real-time PID control of an inverted pendulumReal-time PID control of an inverted pendulum
Real-time PID control of an inverted pendulumFrancesco Corucci
 
Social Network Analysis Project
Social Network Analysis ProjectSocial Network Analysis Project
Social Network Analysis ProjectFrancesco Corucci
 
A wearable MIDI interface using a wireless sensor network
A wearable MIDI interface using a wireless sensor networkA wearable MIDI interface using a wireless sensor network
A wearable MIDI interface using a wireless sensor networkFrancesco Corucci
 
An overview on Quantum Key Distribution
An overview on Quantum Key DistributionAn overview on Quantum Key Distribution
An overview on Quantum Key DistributionFrancesco Corucci
 
P-Systems for approximating NP-Complete optimization problems
P-Systems for approximating NP-Complete optimization problemsP-Systems for approximating NP-Complete optimization problems
P-Systems for approximating NP-Complete optimization problemsFrancesco Corucci
 

Plus de Francesco Corucci (6)

Teleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetTeleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmet
 
Real-time PID control of an inverted pendulum
Real-time PID control of an inverted pendulumReal-time PID control of an inverted pendulum
Real-time PID control of an inverted pendulum
 
Social Network Analysis Project
Social Network Analysis ProjectSocial Network Analysis Project
Social Network Analysis Project
 
A wearable MIDI interface using a wireless sensor network
A wearable MIDI interface using a wireless sensor networkA wearable MIDI interface using a wireless sensor network
A wearable MIDI interface using a wireless sensor network
 
An overview on Quantum Key Distribution
An overview on Quantum Key DistributionAn overview on Quantum Key Distribution
An overview on Quantum Key Distribution
 
P-Systems for approximating NP-Complete optimization problems
P-Systems for approximating NP-Complete optimization problemsP-Systems for approximating NP-Complete optimization problems
P-Systems for approximating NP-Complete optimization problems
 

Dernier

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Dernier (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Implementation of a lane-tracking system for autonomous driving using Kalman filter

  • 1. A VISION-BASED LANE TRACKING SYSTEM FOR AUTONOMOUS DRIVING USING KALMAN FILTER Department of Information Engineering University of Pisa A. Biondi – . F. Corucci – . 2011 Project for Digital Control class Prof. A. Balestrino, Prof. A. Landi
  • 2. Aim of the project  Build a vision-based lane tracking system using Kalman filter  Test Kalman filter effectiveness in a practical noisy scenario  Experience with some computer vision algorithms and techniques Project for Digital Control class - University of Pisa 2
  • 3. Why lane tracking is useful? Lane tracking Steering control to follow the road Camera view  Vision-based lane tracking is commonly used to build autonomous cars capable of following a road without human intervention Project for Digital Control class - University of Pisa 3
  • 4. Video acquisition  In order to collect a dataset to work with, we placed a netbook on an hand-cart and recorded a video from the webcam while following a realistic circuit as best as possible Project for Digital Control class - University of Pisa 4
  • 5. Video acquisition Project for Digital Control class - University of Pisa 5 RGB video frame grabbed from the webcam
  • 6. Image preprocessing - Overview Project for Digital Control class - University of Pisa 6  Some preprocessing is needed on the RGB video frame in order to perform feature discrimination: RGB frame Grayscale Equalization Filtering Binarization Edge detection
  • 7. Grayscale conversion Project for Digital Control class - University of Pisa 7 Grayscale video frame Color distribution Floor Lane markers
  • 8. Enhancing color separation Project for Digital Control class - University of Pisa 8 Enhanced color separation Resulting color distribution Floor Lane markers This was achieved using the decorrelation stretch method, commonly used for feature discrimination in images. (Correlated images does not usually have sharp contours)
  • 9. Filtering floor components Project for Digital Control class - University of Pisa 9 Image after filtering Resulting color distribution Floor Lane markers FILTER This was achieved enhancing the image contrast through color saturation (with appropriate thresholds). Floor is saturated to black
  • 10. Image binarization Project for Digital Control class - University of Pisa 10 Binarized image  The image is now a matrix of 0 and 1
  • 11. Edge detection  Once the interesting features (i.e. lane marks) are enhanced, we detect edges in the video frame, in order to identify lane-marks contours to be followed  The Canny algorithm (a derivative filter) was used for this purpose Project for Digital Control class - University of Pisa 11
  • 12. Edge detection - Canny Project for Digital Control class - University of Pisa 12 Frame after Canny application The linear contours are now clearly identifiable
  • 13. Line detection  We are now able to extrapolate the analytic equations of the lane-mark borders  At the first frame, we have no idea of where lane marks could be, so we need to perform a global scan  We used the Hough Transformation in order to detect lines in this situation Project for Digital Control class - University of Pisa 13
  • 14. Outline on Hough transformation Project for Digital Control class - University of Pisa 14 θ  Allows to discriminate features described by an analytical equation  It has been generalized in order to detect arbitrarily complex shapes  The problem of searching for a feature is translated in a max problem Example of Hough detection on a complex shape
  • 15. More on Hough transformation Project for Digital Control class - University of Pisa 15 θ  The equation that ties the curve parameters 𝑎𝑖 to the coordinates 𝑥, 𝑦 looks like: 𝑓 𝑥, 𝑦 , 𝑎1, … , 𝑎 𝑛 = 0  Every point 𝑥𝑖, 𝑦𝑖 of the image space generates a hyper-curve in the parametric space  A point in the parametric space identifies uniquely a curve in the image space  N points of the image space generate N curves in the parametric space with a common intersection that is the curve on which they possibly lie on
  • 16. More on Hough transformation Project for Digital Control class - University of Pisa 16 θ  In our case the curves in the parametric space are still lines 𝑦 = 𝑚𝑥 + 𝑞 → 𝑓 𝑥, 𝑦 , 𝑚, 𝑞 = 0  Given a point 𝑥𝑖, 𝑦𝑖 , the parametric equation is 𝑞 = 𝑦𝑖 − 𝑚 ∗ 𝑥𝑖  Every intersection in the parameter space is interpreted as a vote for the corresponding curve  A curve that has lot of votes identifies (with a certain confidence) a relevant feature
  • 17. Line detection Project for Digital Control class - University of Pisa 17 Hough transform parameters space Peaks identifiyng lines Detected lines, superimposed on the original RGB frame θ
  • 18. Inverse perspective transform  Work in perspective space is not convenient  A common way to avoid it is performing an inverse perspective transformation (→ Bird’s Eye view)  The achieved «virtual» top view is much more convenient in order to measure the distances and the angles we need  Various auxiliary operation in our application are performed in this space Project for Digital Control class - University of Pisa 18
  • 19. Inverse perspective transform Project for Digital Control class - University of Pisa 19 I → W map
  • 20. Inverse perspective transform Project for Digital Control class - University of Pisa 20 Bird’s eye view («virtual» top view) I space W space Perspective view
  • 21. So, where’s Kalman?  The problem with this approach is that performing a HoughTransformation on the whole image is computationally heavy: with a reasonable video frame rate for a driving application, there is no time to perform Hough between two subsequent frames We can exploit Kalman to drastically reduce the search area in every frame and subsequently detect lane-markers in a computationally efficient way Project for Digital Control class - University of Pisa 21
  • 22. Kalman – the intuition  Once we have an idea of where the lane marks are at the first frame, a Kalman filter is used in order to predict where the lane marks will be in the next video frame  The system then evolves step-by-step, frame after frame, through Kalman predictions, until this is possible (i.e. Kalman is able to lock-on the lane mark)  Every Kalman prediction identifies a very thin region of the next frame, in which we can perform a local search in a very efficient way (preprocessing, binarization, pixels fit)  If something goes wrong and we are not able to identify the lane mark in the predicted band, a global Hough scan is performed Project for Digital Control class - University of Pisa 22
  • 23. Algorithm overview Project for Digital Control class - University of Pisa 23 1-st frame • Hough detection • Kalman initialization • Kalman prediction for frame no. 2 k-th frame • Fit inside Kalman predicted band • If fit fails -> Perform Hough Detection and init. Kalman • Kalman prediction for frame no. K+1 … … … …
  • 24. Model details 𝐴 𝑘+1= 𝐹𝐴 𝑘 + 𝐺𝑢 𝑘+ 𝑤 𝑘 𝑦 𝑘 = 𝐻𝐴 𝑘+ 𝑣 𝑘 Project for Digital Control class - University of Pisa 24  𝑨 = state vector = 𝒎 𝒒 Where 𝑚 and 𝑞 are coefficients of a line expressed as: 𝑦 = 𝑚𝑥 + 𝑞 A linear model was sufficient for our short-range view  𝑭 = autonomous dynamic Models the evolution of the state when no input is applied. In order to simplify the model, considered the low velocity and the high frame rate, we have taken 𝐹 = 𝐼  𝒖 = input vector, models the vehicle steering (here simulated)  𝑮 = maps the input on the state  𝒘 𝒌 = process noise ~ 𝑵(𝟎, 𝑷)  𝒗 𝒌 = measure noise (fit error due to pixel discretization) ~ 𝑵(𝟎, 𝑸)  𝒚 𝒌 = output (for us, output = state)  𝑯 = maps state on the output (for us, 𝐻 = 𝐼)
  • 25. Kalman algorithm Project for Digital Control class - University of Pisa 25  𝑃𝑘 = covariance matrix of the process noise 𝒘  𝑄 𝑘 = covariance matrix of the measurement noise 𝒗  𝐾𝑘 = Kalman gain Predicted state Estimated state
  • 26. Kalman-based detection Project for Digital Control class - University of Pisa 26 Left lane-mark Right lane-mark Legend: - Green region: Kalman predicted band - Blue line: Fitted line - White line: Lane-mark contour (real pixels)
  • 27. Experimental results Project for Digital Control class - University of Pisa 27 <video simulation>  As shown in the simulation, Kalman is able to track lane-marks without problems, even:  in presence of sudden anomalous car movements  with a simplified linear model (the curve is well tracked!)  with a simplified model that does not consider the autonomous dynamic of the system  Hough recalculation is triggered only when the left lane- mark disappears from the camera-field: a polling mode is triggered in this situation, and the lane-mark is locked-on again when it returns in the camera-field
  • 28. Future work Project for Digital Control class - University of Pisa 28  Use the tracking information in order to make a vehicle autonomously follow the circuit (a simple PID can be used to control the steering)  Simulation  Implementation  Mounting a netbook running MATLAB on a toy car equipped with a camera  DSP + μcontroller based implementation
  • 29. Bibliography Project for Digital Control class - University of Pisa 29  «A massively parallel approach to real-time vision-based road markings detection» Alberto Broggi – University of Parma http://www.ce.unipr.it/people/broggi/publications/detroit.pdf  «Lane detection and Kalman-based linear-parabolic lane tracking» Lim, Seng,Ang, Chin -The University of Nottingham Malaysia campus Published at IHMSC’09 - Intelligent Human-Machine Systems and Cybernetics  «La trasformata di Hough» Padova University, Computer vision course 07/08 http://vision.unipv.it/corsi/VisioneArtificiale-ls/lucidi/VA-06.pdf
  • 30. Thank you! Project for Digital Control class - University of Pisa 30