0% found this document useful (0 votes)
82 views

Coding Activities For ADAS Development Using Python

Coding+Activities+for+ADAS+Development+using+Python

Uploaded by

Asif Ally
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views

Coding Activities For ADAS Development Using Python

Coding+Activities+for+ADAS+Development+using+Python

Uploaded by

Asif Ally
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Optional Coding Activities

Coding Activity 1 – Development of Lane Detection system for ADAS application


➢ Description:
➢ Lane detection system uses front camera of the ego vehicle. It detect the lanes and also determine the lane
in which the Ego vehicle is moving. Lane detection is important algorithm for ADAS systems like Lane
Departure Warning, Lane Change Assist, Lane Keep Assist, etc.

➢ Problem Statement:
➢ Use Python (or any other programming language) for development.
➢ Use openCV for computer vision and then required machine Learning / Deep Learning algorithm of your
choice.
➢ Down a video from public dataset like KITTI, nuscenes or other, which contains recording of road from
front camera where lanes are clearly visible.
➢ Implement the Lane detection system and validate it.
➢ Test the algorithm on the video by contiuously detecting road lanes.

➢ Some references:
➢ https://www.analyticsvidhya.com/blog/2020/05/tutorial-real-time-lane-detection-opencv/
➢ https://medium.com/@mrhwick/simple-lane-detection-with-opencv-bfeb6ae54ec0
➢ https://paperswithcode.com/task/lane-detection/codeless
➢ https://arxiv.org/pdf/1903.02193.pdf
Coding Activity 2 – Development of Traffic Sign Recognition system for ADAS
➢ Description:
➢ Traffic Sign Recognition system is important ADAS function because when one is driving on road, there
are very high chances for driver to miss some or many traffic signs which are vital to drive properly.
Hence ADAS system by using mainly the front camera enabled with AI based algorithm detects and
display the traffic signs detected on road to the driver on the instrumnet cluster of the vehicle.

➢ Problem Statement:
➢ Use Python (or any other programming language) for development.
➢ Use openCV for computer vision and then required machine Learning / Deep Learning algorithm of your
choice.
➢ Download the publicly available dataset of traffic sign images.
➢ Develop Deep Learning CNN model and train it using the dataset. Keep aside some part of the data for
validation and testing.
➢ After training and validation with high accuracy, test the model on test dataset and save it for later use.
Coding Activity 2 – Development of Traffic Sign Recognition system for ADAS
➢ References:
➢ https://data-flair.training/blogs/python-project-traffic-signs-recognition/
➢ https://medium.com/dataflair/class-data-science-project-for-2020-traffic-signs-recognition-12b09c131742
➢ https://towardsdatascience.com/recognizing-traffic-signs-with-over-98-accuracy-using-deep-learning-
86737aedc2ab
➢ https://www.pyimagesearch.com/2019/11/04/traffic-sign-classification-with-keras-and-deep-learning/
Coding Activity 3 – Development of Speed Limit Recognition system for ADAS
➢ Description:
➢ Speed limit recognition is kind a sub part of traffic sign recognition system. In many countries, as per the
road and area, the maximum speed limit varies. If the vehicle is found to be driving higher than the
allowed maximum speed limit, it can lead to fine and also danger situation on road.
➢ Hence, such ADAS systems using the front camera enabled with AI, detects the traffic signs which are for
speed limits and then display the speed on the instrument panel of the vehicle.

➢ Problem Statement:
➢ Use Python (or any other programming language) for development.
➢ Use openCV for computer vision and then required machine Learning / Deep Learning algorithm of your
choice.
➢ Download the publicly available dataset of speed limit traffic sign images
➢ Develop Deep Learning CNN model and train it using the dataset. Keep aside some part of the data for
validation and testing.
➢ After training and validation with high accuracy, test the model on test dataset and save it for later use.
➢ Test the system by using some other speed limit images. You can also test it using some video feed.
Coding Activity 3 – Development of Speed Limit Recognition system for ADAS
➢ References:
➢ https://hackernoon.com/automatic-recognition-of-speed-limit-signs-deep-learning-with-keras-and-
tensorflow-310d90af9826
➢ https://www.mdpi.com/2313-433X/3/3/25/htm
Coding Activity 4 – Object Detection from camera images using YOLOv3
➢ Description:
➢ Object Detection algorithm is used by many ADAS systems to detect objects and then to decide whether
any of the objects can lead to danger condition.
➢ As camera is very good in identifying type of object, it is widely used. It is also used togther with other
sensors like Radar for data fusion.
➢ There are many state of the art object detection algorithms available today. One of them is YOLOv3 (You
Only Look Once) which is very efficient.
➢ https://pjreddie.com/darknet/yolo/

➢ Problem Statement:
➢ Use Python (or any other programming language) for development.
➢ Download the YOLOv3 model parameters files and then implement the algorithm to detect objects in
images.
➢ Test the model on various road images.
➢ (optional) filter unwanted object class and detect only important class of objects for road like cars, buses,
pedestrian, bicycle, street light, traffic sign, etc.
➢ Test it again on various images.
Coding Activity 4 – Object Detection from camera images using YOLOv3
➢ References:
➢ https://towardsdatascience.com/yolo-you-only-look-once-real-time-object-detection-explained-
492dc9230006
➢ https://github.com/pjreddie/darknet/wiki/YOLO:-Real-Time-Object-Detection
➢ https://arxiv.org/abs/1506.02640
Coding Activity 5 – Street Light detection and Recognition for ADAS
➢ Description:
➢ This ADAS is not yet widely available but is going to be in near future.
➢ Many times, while driving, person can either miss the traffic light or can misunderstand it due to various
reasons.

➢ Problem Statement:
➢ Use Python (or any other programming language) for development.
➢ There are two possible approaches:
➢ Either use the YOLOv3 as stated in previous coding activity and then filter only class of street lights
from all the objects as output. Then further apply color detection or other algorithm to recognize,
which color street lamp is currently active (RED, AMBER or GREEN) or DEACTIVE
➢ OR use some dataset of various street lights (if available) and train the CNN based Deep NN which
can directly output the 4 classes as RED, AMBER, GREEN or DEACTIVE (if street lamp is off)
➢ Once the system is developed, test it with some random images and/or video feed of road.

➢ No reference is given here, as students are expected to develop it by own without taking direct help or
direct code. But you can refer online material to learn and understand some concepts and algorithms, if
required.
Coding Activity 6 – Instrument Cluster (GUI) Development using Python
➢ Description:
➢ In the last codign activities from 1 to 5, we have implemented different ADAS applications (all based on
camera) and now in this activity, the idea is to develop a simple instrument cluster (panel) which can
display all the ADAS outputs from all the five coding activities together.

➢ Problem Statement:
➢ Use Python (or any other programming language) for development.
➢ For GUI development with python, you can use PyQT, Tkinter, wxwidget, or any other library.
➢ Use your imagination and creativity along with some online search to design good looking GUI for
displaying ADAS information from all 5 coding activities.
➢ Test it.

➢ One image for reference is given here. But it is not necessary that you design similar to this one.
Coding Activity 7 – Let‘s Put all together
➢ Description:
➢ This is the last coding activity. In the last six activities, we have developed
➢ Lane detection
➢ Traffic sign recognition
➢ Speed Limit recognition
➢ Street Lamp detection and recognition
➢ GUI for Instrument cluster
➢ In this coding activity, we will put everything together.

➢ Problem Statement:
➢ Use Python (or any other programming language) for development. If possible use Object Oriented
programming as this part demands integration of multiple systems together.
➢ The idea is simple. Take some video feeds and then adapt all the previously implemented algorithms
accordingly, so that we can detect lanes, traffic signs, speed limits, street lamps together and display them
on the GUI as and when they are detected in the video.
➢ Test it with multiple video feeds.
➢ Note: for this activity also, students are expected to implement by themselves without using any direct
code from online material.

You might also like