University of Turku

Capstone

The purpose of this project was to create road condition detection system using an acoustic signal and machine learning. The primary goal of this project was to create a working subsystem for a car that is able to detect hazardous conditions while the car is moving. We were able to distinguish between 6 different road surfaces with over 90% accuracy with multiple machine learning models. We collected sound data with our own microphone setup over a course of six months and 9 discrete recording sessions. The results we got with the collected data were promising and all of the surface types could be distinguished properly but the prototype developed from the data worked inconsistently in the testing setting. We suspect this is due to lack data. The prototype also worked poorly in slow speeds due to low differences between classes in the acoustic signals at low speeds. However at low speeds detecting the road surface type is not crucial for safe driving.

Implementation

We built a Raspberry Pi setup for data collection and the prototype. The setup consists of of a raspberry Pi 4 8gb and a directional microphone.The microphone is located in the rear of car on the opposite side of the car compared to the exhaus pipe. The microphone is directed at the point at which the tyremakes contact with the ground. The prototype's software was written with python using pyaudio and sklearn libraries.We extracted multiple features from the audio samples in both time and frequency domain to create a dataset. We tried multiple common machine learning models such as k-nearest neighbor, support vector classifier, and random forest.
Bild av projektet