# A Review of Machine Learning and IoT in Smart Transportation
## 2 Machine Learning and IoT in Smart Transportation
### ML and IoT Applications in Smart Transportation
#### 2.2.2 Parking  
Parking applications are developed to effectively track availability in parking lots, and offer some reservation options to the users, and even some parking detection and notification mechanisms. Many IoT devices have been used to detect car presence in a parking spot and convey the information to a centralized system. Additionally, some researches use image data to massively detect free parking slots, applying ML algorithms to the data. The authors in [20], use CNNs on data obtained from smart cameras on parking lots, to detect free parking slots. Parking lot images are also processed in [14], using a combination of an SVM and an MRF algorithm. Lastly, the PKLot dataset is created in [38], which is afterwards tested using an SVM algorithm. A smart parking approach is suggested in [63], with the idea of an IoT supported parking lot and a smart signboard to convey related information. The parking lot will use ultrasonic sensors to check the parking space availability and a WiFi module will collect and send the data to a cloud server. At this point, a user can check the parking availability through a mobile application, or the smart signboard. The signboard consists of an LCD or LED screen driven by a raspberry pi that will collect and display information about parking availability, weather conditions, distance to certain destinations, etc. Ref. [64] also uses ultrasonic sensors at each parking slot to detect the availability. The sensor is connected with an Arduino Uno that uses an ESP8266-01 WiFi module, which is responsible for sending the data to a cloud server. The communication is done via the MQTT protocol. The cloud server operates running ThingSpeak which is an IoT platform and offers a variety of management and monitoring capabilities to the users. Finally, the end users can install an android application that enables them to reserve parking slots and automate the parking payments. The authors in [65] propose a smart parking solution using a hardware and a software part. For the hardware part, magnetic sensors are used to detect cars on parking slots, and a gateway device is located on the road side to gather the information and send it to a remote server. The goal of the software part is to propose the nearest free parking slot to the user. This is achieved by running a genetic algorithm to obtain the minimum route from the users' location to the nearest free slot. Genetic algorithms are actually an optimization methodology, and thus we do not consider them as classic ML. An end-to-end smart parking implementation is presented in [66]. The system consists of physical sensors and micro-controllers at the parking slots, a modular cloud server, a mobile application, and a third party payment service. At the parking slots, geomagnetic vehicle detectors check for vehicle presence and send the data to the cloud server with the use of a BC95-B5 NB-IoT module. The cloud server has several modules. A basic information module that manages the sensor nodes and other administrative tasks, a module with the system's maintainers manageable information, a charging module that calculate charging and sends reports to the third party charging service, a sensor node surveillance system that enables monitoring of the parking slots availability and the sensor's operating status, a business intelligence module that enables parking data querying and visualization, and a task management service that handles requests to the maintainers and status tracking. The end user has access to the system via a web based mobile application. Finally, payments with a third party paying service like Alipay and WeChat pay is enabled through the cloud server and the mobile web-app. Another approach to smart parking is introduced in [67] with the creation of an Agent-Oriented Smart Parking Recommendation System (ASPIRE).