This project was developed for a Digital Control class. It consists of a system that is able to identify and track lane marks in a video acquired by webcam. It's interesting how the Kalman filter is used in such a context in order to make the lane detection computationally feasible in the small amount of time between two subsequent video frames
In pattern recognition, the k-nearest neighbors algorithm (k-NN) is a non-parametric method proposed by Thomas Cover used for classification and regression. In both cases, the input consists of the k closest training examples in the feature space.
Machine Learning based Hybrid Recommendation System
• Developed a Hybrid Movie Recommendation System using both Collaborative and Content-based methods
• Used linear regression framework for determining optimal feature weights from collaborative data
• Recommends movie with maximum similarity score of content-based data
In pattern recognition, the k-nearest neighbors algorithm (k-NN) is a non-parametric method proposed by Thomas Cover used for classification and regression. In both cases, the input consists of the k closest training examples in the feature space.
Machine Learning based Hybrid Recommendation System
• Developed a Hybrid Movie Recommendation System using both Collaborative and Content-based methods
• Used linear regression framework for determining optimal feature weights from collaborative data
• Recommends movie with maximum similarity score of content-based data
This Machine Learning With Python presentation gives an introduction to Machine Learning and how to implement machine learning algorithms in Python. By the end of this presentation you will be able to understand Machine Learning workflow, steps to download Anaconda, types of Machine Learning and application of these in a demo showcasing Linear Regression and K-Means clustering. Below are the topics covered in this Machine Learning presentation:
1. Why Machine Learning?
2. Applications of Machine Learning
3. How does Machine Learning work?
4. Machine Learning Workflow
5. Steps to download Anaconda
6. Types of Machine Learning
7. Linear Regression Demo
8. K-Means Clustering Demo
9. Use Case - Weather Analysis
- - - - - - - -
About Simplilearn Machine Learning course:
A form of artificial intelligence, Machine Learning is revolutionizing the world of computing as well as all people’s digital interactions. Machine Learning powers such innovative automated technologies as recommendation engines, facial recognition, fraud protection and even self-driving cars.This Machine Learning course prepares engineers, data scientists and other professionals with knowledge and hands-on skills required for certification and job competency in Machine Learning.
- - - - - - -
Why learn Machine Learning?
Machine Learning is taking over the world- and with that, there is a growing need among companies for professionals to know the ins and outs of Machine Learning
The Machine Learning market size is expected to grow from USD 1.03 Billion in 2016 to USD 8.81 Billion by 2022, at a Compound Annual Growth Rate (CAGR) of 44.1% during the forecast period.
- - - - - -
Who should take this Machine Learning Training Course?
We recommend this Machine Learning training course for the following professionals in particular:
1. Developers aspiring to be a data scientist or Machine Learning engineer
2. Information architects who want to gain expertise in Machine Learning algorithms
3. Analytics professionals who want to work in Machine Learning or artificial intelligence
4. Graduates looking to build a career in data science and Machine Learning
- - - - - -
In this presentation, two different data-sets are being collected to implement the machine learning classification techniques introduced from introduction to data mining and machine learning coursework. Both data-sets are collected by analyzing their output and team members interest. Following are the data-sets named as, Electricity grid stability simulated data-set and Face Recognition on Olivetti Data set
Convolutional Neural Networks : Popular Architecturesananth
In this presentation we look at some of the popular architectures, such as ResNet, that have been successfully used for a variety of applications. Starting from the AlexNet and VGG that showed that the deep learning architectures can deliver unprecedented accuracies for Image classification and localization tasks, we review other recent architectures such as ResNet, GoogleNet (Inception) and the more recent SENet that have won ImageNet competitions.
The next phase of Smart Network Convergence could be putting Deep Learning systems on the Internet. Deep Learning and Blockchain Technology might be combined in the smart networks of the future for automated identification (deep learning) and automated transaction (blockchain). Large scale future-class problems might be addressed with Blockchain Deep Learning nets as an advanced computational infrastructure, challenges such as million-member genome banks, energy storage markets, global financial risk assessment, real-time voting, and asteroid mining.
Blockchain Deep Learning nets and Smart Networks more generally are computing networks with intelligence built in such that identification and transfer is performed by the network itself through sophisticated protocols that automatically identify (deep learning), and validate, confirm, and route transactions (blockchain) within the network.
This presentation covers Decision Tree as a supervised machine learning technique, talking about Information Gain method and Gini Index method with their related Algorithms.
Introduction to Digital Videos, Motion Estimation: Principles & Compensation. Learn more in IIT Kharagpur's Image and Video Communication online certificate course.
This Machine Learning With Python presentation gives an introduction to Machine Learning and how to implement machine learning algorithms in Python. By the end of this presentation you will be able to understand Machine Learning workflow, steps to download Anaconda, types of Machine Learning and application of these in a demo showcasing Linear Regression and K-Means clustering. Below are the topics covered in this Machine Learning presentation:
1. Why Machine Learning?
2. Applications of Machine Learning
3. How does Machine Learning work?
4. Machine Learning Workflow
5. Steps to download Anaconda
6. Types of Machine Learning
7. Linear Regression Demo
8. K-Means Clustering Demo
9. Use Case - Weather Analysis
- - - - - - - -
About Simplilearn Machine Learning course:
A form of artificial intelligence, Machine Learning is revolutionizing the world of computing as well as all people’s digital interactions. Machine Learning powers such innovative automated technologies as recommendation engines, facial recognition, fraud protection and even self-driving cars.This Machine Learning course prepares engineers, data scientists and other professionals with knowledge and hands-on skills required for certification and job competency in Machine Learning.
- - - - - - -
Why learn Machine Learning?
Machine Learning is taking over the world- and with that, there is a growing need among companies for professionals to know the ins and outs of Machine Learning
The Machine Learning market size is expected to grow from USD 1.03 Billion in 2016 to USD 8.81 Billion by 2022, at a Compound Annual Growth Rate (CAGR) of 44.1% during the forecast period.
- - - - - -
Who should take this Machine Learning Training Course?
We recommend this Machine Learning training course for the following professionals in particular:
1. Developers aspiring to be a data scientist or Machine Learning engineer
2. Information architects who want to gain expertise in Machine Learning algorithms
3. Analytics professionals who want to work in Machine Learning or artificial intelligence
4. Graduates looking to build a career in data science and Machine Learning
- - - - - -
In this presentation, two different data-sets are being collected to implement the machine learning classification techniques introduced from introduction to data mining and machine learning coursework. Both data-sets are collected by analyzing their output and team members interest. Following are the data-sets named as, Electricity grid stability simulated data-set and Face Recognition on Olivetti Data set
Convolutional Neural Networks : Popular Architecturesananth
In this presentation we look at some of the popular architectures, such as ResNet, that have been successfully used for a variety of applications. Starting from the AlexNet and VGG that showed that the deep learning architectures can deliver unprecedented accuracies for Image classification and localization tasks, we review other recent architectures such as ResNet, GoogleNet (Inception) and the more recent SENet that have won ImageNet competitions.
The next phase of Smart Network Convergence could be putting Deep Learning systems on the Internet. Deep Learning and Blockchain Technology might be combined in the smart networks of the future for automated identification (deep learning) and automated transaction (blockchain). Large scale future-class problems might be addressed with Blockchain Deep Learning nets as an advanced computational infrastructure, challenges such as million-member genome banks, energy storage markets, global financial risk assessment, real-time voting, and asteroid mining.
Blockchain Deep Learning nets and Smart Networks more generally are computing networks with intelligence built in such that identification and transfer is performed by the network itself through sophisticated protocols that automatically identify (deep learning), and validate, confirm, and route transactions (blockchain) within the network.
This presentation covers Decision Tree as a supervised machine learning technique, talking about Information Gain method and Gini Index method with their related Algorithms.
Introduction to Digital Videos, Motion Estimation: Principles & Compensation. Learn more in IIT Kharagpur's Image and Video Communication online certificate course.
Devoxx4Kids workshop - Programming a humanoid robot - english versionNicolas Rigaud
This presentation is the english translation of the Devoxx4Kids workshop that was created by Daniel De Luca (@danieldeluca). This idea is to let kids (and parents) understand how easy it is to program NAO without even a single line of code thanks to Aldebaran GUI Choregraphe.
You can find more informations about Devoxx4Kids at http://www.devoxx.com/display/4KIDS
Thanks Stephen Chin (@steveonjava) for translating the first pages ;)
NAO Programming using .NET and Webots 01-Introduction to NAOSetiawan Hadi
This work is part of the SAME 2013 result, in the collaboration of Computer Vision Laboratory University of Padjadjaran INDONESIA and Cognition and Interaction Laboratory Informatics Research Center University of Skövde SWEDEN.
http://blogs.unpad.ac.id/setiawanhadi/?cat=8
http://informatika.unpad.ac.id/visilab/
http://www.his.se/en/Research/informatics/Interaction-Lab/Cognition--Interaction-Lab/
Не так давно Гор Нишанов представил свой доклад: C++ Coroutines a negative overhead abstraction. В этом докладе Гор упомянул, что предложенный дизайн корутин позволяет их использовать практически в любых окружениях, в том числе и с "бедным" C++ рантаймом.
Я решил попробовать запустить корутины в следующих окружениях: обычное приложение, драйвер ОС Windows, EFI приложение. Только в одном из этих окружений есть полноценный C++ рантайм и поддержка исключений, в остальных ничего этого нет. Более того, EFI приложение вообще выполняется до старта ОС.
Я хочу рассказать о том, как мне удалось запустить корутины в этих окружениях, поговорим о том, какие проблемы существуют в асинхронном системном программировании и как их можно обойти.
This report explores the strategic issues that will have to be considered by authorities as more fully automated and ultimately autonomous vehicles arrive on our streets and roads. It was drafted on the basis of expert input and discussions amongst project partners in addition to a review of relevant published research and position papers.
Autonomous Driving (AD) has been said to be the next big disruptive innovation in the years to come. Considered as being predominantly technology driven, it is supposed to have massive societal impact in areas such as insurance, laws and regulations, logistics, automotive industry as well as all types of transportation methods, not only expected to have an enormous environmental and economic effect but also offer the possibility of saving millions of lives worldwide.
HYVE Science Labs, in cooperation with the Technical University Hamburg-Harburg and INSIUS have developed the unique worldwide study “Autonomous Driving: The User Perspective” focused on the customer view and acceptance of Autonomous Driving. The study analyses 106,305 comments on Autonomous Driving publicly posted in English on the Internet, finding a more positive than negative attitude towards this new technology in contrast to the most renowned surveys in the field. The focus was placed in the understanding of customer acceptance, a topic that until now under an Autonomous Driving context is limited. While a survey with more than 200 experts on autonomous vehicles by the IEEE (2014), the world's largest professional association for the advancement of technology, defines that the three biggest obstacles to reach the mass adoption of driverless cars are legal liability, policymakers and customer acceptance. Therefore it is essential to start understanding and integrating customers in order to build deep and meaningful customer insights which can be used to deliver the products they want and need. Furthermore it is important to understand the wants and needs of future users and who will the early adopters will be. They will influence how technologies evolve and if they provide enough benefits to reach the early majority.
Innovative Web Monitoring Technologies, User Generated Content (UGC) and the method of Innovation Mining were used within an Autonomous Driving context to understand user’s debate on the Internet. UGC is characterized by extensive volunteering effort, lack of central control and freedom of expression, while creating a basis for identifying and understanding opinions, desires, tastes, needs and decision-making influences of customers in a passive non-intrusive manner. UGC is perceived as being impartial and unbiased, while giving the chance to understand needs and doubts of the potential customers, as well as the used language within a certain topic. The method of Innovation Mining presented below reflects the process from the search for the UGC until the possible visualization and interpretation of the gained information.
• Analysis of the users language within an AD context
• Most relevant single sources of discussion
• Topic evolution including most impactful events
• Brand importance in the users perspective
• Most mentioned activities in an AD vehicle
• In depth language analysis of concepts and their drivers
Roadmap to autonomous driving, AV levels, its impact
on powertrains of the future
- Autonomous driving vehicle
- Powertrain requirements for autonomous vehicles
- Scaleable functionality for ACE (Autonomous, Connected and Electric)
В своих прошлых докладах (http://cpp-russia.ru/?p=198, и http://cpp-russia.ru/?page_id=1239) я рассказывал о C++ без исключений, как с эти жить, как работать. Этот доклад является продолжением этой серии. Я рекомендую освежить в памяти предыдущие доклады, чтобы наша работа была более продуктивной. Мы обсудим механизмы создания, копирования и перемещения объектов, механизмы аллокации и деаллокации памяти, а также обработку ошибок и исключений. Также мы обсудим проблемы и неудобства, которые испытывает программист, когда пишет код без исключений. В конце, я попытаюсь показать, как можно проектировать структуры данных, контейнеры для удобной работы в средах с исключениями и без исключений.
Roadmap to autonomous driving, AV levels, its impact
on powertrains of the future
- Autonomus driving vehicle
- Powertrain requirements for autonomous vehicles
- Scaleable functionality for ACE (Autonomous, Connected and Electric)
At a press event kicking off CES 2016, we unveiled artificial intelligence technology that will let cars sense the world around them and pilot a safe route forward.
Dressed in his trademark black leather jacket, speaking to a crowd of some 400 automakers, media and analysts, NVIDIA CEO Jen-Hsun Huang revealed DRIVE PX 2, an automotive supercomputing platform that processes 24 trillion deep learning operations a second. That’s 10 times the performance of the first-generation DRIVE PX, now being used by more than 50 companies in the automotive world.
The new DRIVE PX 2 delivers 8 teraflops of processing power. It has the processing power of 150 MacBook Pros. And it’s the size of a lunchbox in contrast to other autonomous-driving technology being used today, which takes up the entire trunk of a mid-sized sedan.
“Self-driving cars will revolutionize society,” Huang said at the beginning of his talk. “And NVIDIA’s vision is to enable them.”
Autonomous vehicles: becoming economically feasible through improvements in l...Jeffrey Funk
These slides use concepts from my (Jeff Funk) course entitled analyzing hi-tech opportunities to analyze how autonomous vehicles are becoming economically feasible throug through improvements in lasers, microelectronic mechanical systems (MEMS), integrated circuits (ICs), and other components. Although the cost of the Google Car is currently about 150,000 USD, 30% annual improvements in lasers, MEMS, and ICs will make these economically feasible for a broad number of users in the next ten years. A key issue is when certain lanes, roads or even entire highway systems are restricted to automated vehicles. This would enable collision avoidance to rely more on between-vehicle communications. This would further reduce the cost of automated vehicles, stimulate diffusion, and also reduce transportation time and increase fuel efficiency.
In this report it will be explained how a surveillance video of a parking can be analyzed by means of different Computer Vision techniques in order to identify how many available parking lots there are. In particular, we will show first how parking lots are identified by their contour lines, and then how we find out whether they are empty or not.
Visual odometry & slam utilizing indoor structured environmentsNAVER Engineering
Visual odometry (VO) and simultaneous localization and mapping (SLAM) are fundamental building blocks for various applications from autonomous vehicles to virtual and augmented reality (VR/AR).
To improve the accuracy and robustness of the VO & SLAM approaches, we exploit multiple lines and orthogonal planar features, such as walls, floors, and ceilings, common in man-made indoor environments.
We demonstrate the effectiveness of the proposed VO & SLAM algorithms through an extensive evaluation on a variety of RGB-D datasets and compare with other state-of-the-art methods.
APPLICATION OF IP TECHNIQUES IN TRAFFIC CONTROL SYSTEMAshik Ask
Automatic traffic monitoring and surveillance are important for road usage and management. Image processing is an efficient tool for overcoming traffic problems. Image processing is a technique to enhance raw images received from cameras/ sensors. An image is a rectangular, graphical object. Image processing involves issues related to image representation, compression techniques, and various complex operations, which can be carried out on the image data. The operations that come under image processing are image enhancement operations such as sharpening, blurring, brightening, edge enhancement, etc. Image processing is any form of signal processing for which the input is an image, such as photographs or frames of video; the output of image processing can be either an image or a set of characteristics or parameters related to the image. Most image processing techniques involve treating the image as a two- dimensional signal and applying standard signal processing techniques to it.
In this paper, we have described the coordinate (position) estimation of automatic steered car by using kalman filter and prior knowledge of position of car i.e. its state equation. The kalman filter is one of the most widely used method for tracking and estimation due to its simplicity, optimality, tractability and robustness. However, the application to non linear system is difficult but in extended kalman filter we make it easy as we first linearize the system so that kalman filter can be applied. Kalman has been designed to integrate map matching and GPS system which is used in automatic vehicle location system and very useful tool in navigation. It takes errors or uncertainties via covariance matrix and then implemented to nullify those uncertainties. This paper reviews the motivation, development, use, and implications of the Kalman Filter.
Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...Poo Kuan Hoong
There have been numerous interests in the area of detecting availability of car park bay using image processing techniques instead of utilizing expensive sensors. An area that has been neglected in doing so is the initial calibration of the image capturing device on the need to determine the car park structures. This paper proposes a technique that addresses this issue, using the limited processing capabilities of embedded systems. The results are promising, where in its current form, is semi-automated calibration for the car park structure detection and further enhancements can be made, to make it completely automated
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
Teleoperating a robotic arm through a gyroscopic helmetFrancesco Corucci
I worked on this project for a Real Time Systems class. It is basically a pointing device, based on a gyroscopic helmet controlling a little robotic arm. The hardware consists of Evidence FLEX boards running a Real-Time OS called Erika Enterprise (Open Source RTOS for single- and multi-core applications)
This project was developed for an Embedded systems class: we implemented a PID controller for a mechanical inverted pendulum. It was very interesting to experiment in practice with a simple control plant.
This is the final report for a Social Network Analysis class, within the context of the Excellence Program in Computer Engineering, University of Pisa, Italy
A wearable MIDI interface using a wireless sensor networkFrancesco Corucci
The idea behind this project is to use a wearable WSN to produce music. The user wears a certain number of sensors, sampling accelerometric data: these data are mapped into MIDI messages, that are routed toward a musical software. The WSN is seen as a standard input MIDI peripheral.
The platform allows new expressive forms based on gestuality: using more sensors placed on the body (with an appropriate mapping), it could be possible to link different forms of expressivity, such dance and music.
An overview on Quantum Key Distribution, final presentation for a Quantum Computing Class within the Excellence Program in Computer Engineering, University of Pisa, Italy
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Designing Great Products: The Power of Design and Leadership by Chief Designe...
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
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
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