The system consists of two subsystems: input unit (camera, ultrasonic sensor), processing unit (computer) and control unit.
Input UnitA Raspberry Pi board (model B+), attached with a pi camera module and an REES52 ultrasonic sensor is used to collect input data. Two client programs run on Raspberry Pi for streaming color video and ultrasonic sensor data to the computer via local Wi-Fi connection.
Processing UnitThe processing unit (computer) handles multiple tasks: receiving data from Raspberry Pi, neural network training and prediction (steering), distance measurement (monocular-vision).
Project DescriptionAn autonomous vehicle to operate there are many things which play a major role; machine learning, artificial intelligence and artificial neural network. An autonomous or driver-less vehicle use machine learning algorithms, capture image, prepare training data sets for autonomous vehicle.
Machine Language AlgorithmMachine learning applications include evaluation of driver condition or driving scenario classification through data fusion from different external and internal sensors – like lidar, radars, cameras or the IoT (Internet of Things). The applications that run the infotainment system of a car can receive the information from sensor data fusion systems and for example, have the capability to direct the car to a hospital if it notices that something is not right with the driver. This application based on machine learning also includes the driver’s speech and gesture recognition and language translation. The algorithms are classified as unsupervised and supervised algorithms. The difference between both of them is how they learn.
Artificial IntelligenceArtificial Intelligence has many applications for these vehicles; among the more immediate and obvious functions:
Directing the car to a gas station or recharge station when it is running low on fuel.
Adjust the trip's directions based on known traffic conditions to find the quickest route.
Incorporate speech recognition for advanced communication with passengers.
Eye tracking for improved driver monitoring.
Natural language interfaces and virtual assistance technologies.
Helping autonomous cars learn from each other.
Artificial Neural NetworkArtificial Neural Network (ANN) is an efficient computing system whose central theme is borrowed from the analogy of biological neural networks. ANNs are also named as “artificial neural systems, ” or “parallel distributed processing systems, ” or “connection systems.” ANN acquires a large collection of units that are interconnected in some pattern to allow communication between the units. These units, also referred to as nodes or neurons, are simple processors which operate in parallel.
Project ImplementationThe images required for training the neural network can be captured using interactive_control_train.py. At the command prompt, run the following command:
python interactive_control_train.py
The command opens a Pygame screen where the movements of the car can be controlled using the direction arrows. The images are captured along with the corresponding key press to assist us in their segregation later. We initially used PiCamera'scapture() method with the filename parameter to capture the images, and could capture only a few but high- quality images. When the use_video_port parameter is not specified, the camera utilizes the still mode; the images are obtained using the full area of the sensor and a slow, powerful de-noise algorithm processes these images. When set, the use_video_port parameter uses the video port with which we can capture images rapidly but typically appear grainier when compared to those obtained with the still port. The car is driven on various circuit configurations and around 2000 images are generated for the training data set. Data is cleaned before segregating the images into their respective class folders based on the key press indicated in their filenames.
Comments
Please log in or sign up to comment.