# IoT-Based System for Improving Vehicular Safety by Continuous Traffic Violation Monitoring
## 2 Related Work
### Speed Monitoring Systems  
There are two categories of vehicle speed estimation techniques. The first category is speed estimation using sensors, and the second is speed estimation using computer vision.  
In the sensor-based speed monitoring category, such systems use different types of sensors. For example, surveillance systems usually estimate vehicle speeds using sensors, such as RADAR [5] and LIDAR [6; 7]. These systems are usually expensive, and they are only effective over small distances and are less precise [5]. In [28], the authors utilize information from the Global Positioning System (GPS) and an inertial measurement unit to eliminate the noise produced by sensors and the bias in determining the speed of an electric vehicle. In [29], the authors utilized data from an accelerometer, an angle sensor, and a Holzer sensor to estimate the vehicle speed. An Inertial Navigation System, GPS, and Dead Reckoning based on an Anti-Lock Braking System were also used in [15] to estimate a vehicle's speed. Moreover, an in situ pavement sensor is used to estimate vehicle speed in [30]. The aforementioned systems demonstrate that data extracted from accelerometers and GPS can be used to estimate the speed of a vehicle.  
Recently, researchers have employed the sensors in smartphones to evaluate different parameters of a vehicle, including acceleration, vibration, and speed [31]. In [32], the authors developed a surveillance system for buses, using an Android-based phone and a Raspberry Pi controller to track speed and trajectory. In [33], the authors proposed a system to track the speed and location of a vehicle using mobile networks and GPS. Moreover, the authors in [34] proposed a system to monitor speed bumps and the speed of a vehicle. Given the large number of vehicles and the processing required, cloud computing combined with IoT is essential for the deployment of vehicle speed tracking [34; 35].  
On the other hand, computer vision vehicle monitoring was founded in the 1990s as vehicle surveillance systems were proposed in [5]. Techniques for image processing have been extensively utilized to estimate speed from a video or a collection of images [36]. Segmentation, classification, and calibration algorithms are shared by all of these techniques, although each technique employs a distinct methodology to reflect the implementation context. For instance, artificial neural networks have been shown to be the most effective and accurate among other classification algorithms [37]. In [38], in order to recognize a vehicle in a video stream and compute its speed, a Convolutional Neural Network (CNN) was employed. In [39], a competitive system with respect to a sensor-based speed monitoring system was developed using inductive loops. This system extracts the license plate from an image, tracks vehicle features, and compares the trajectories of the tracked features to known real-world measures for estimating vehicle speeds.  
However, the main limitation in adopting these computer-vision-based methods is that they are constrained by three main assumptions. First, they assume that vehicles are moving at a constant speed, and, secondly, they operate a straight trajectory technique within a single image. The third assumption is that they assume that the surfaces on which the vehicles are moving are flat, or that they move on planar surfaces. To overcome these limitations, 3D modeling would be required, which would make the process more complex and less effective. Furthermore, further efforts and studies are required to estimate the speed of the vehicle in crowded scenarios.