# Mono Camera-Based Optical Vehicular Communication for an Advanced Driver Assistance System
## 1 Introduction
However, as vehicle corner part detection is impossible with RADAR, sensor fusion techniques are considered a viable solution. Camera and RADAR sensor fusion has recently been proposed for the improvement of individual camera or RADAR-based systems [17]. Here, a camera is used for the corner part detection of vehicles, and RADAR is used for the distance estimation. Still, this system suffers from considerable inaccuracy. Moreover, no V2V and vehicle to everything (V2X) communications link can be established via the camera for the deployment of the internet of vehicles (IoV). Vehicular ad hoc networks systems are used for vehicle localization and direct communication or through roadside units using RF. It involves the challenges in the high vehicular density areas owing to the interference from various signal sources [18]. To overcome the limitations of RF systems and support the massive connectivity of the IoV, researchers have proposed a multifunctional OCC capable of imaging, vehicular localization, and communication. [PERSON] et al. have introduced OCC-integrated streetlamps to determine the position of FWVs to cope with the challenges associated with high-mobility transmitters and receivers [19]. However, they have not considered the diversity in the design of the taillights because this depends on the manufacturer. Therefore, the achieved system accuracy (10-20 cm) will eventually decrease in practical cases. The position of the FWVs can also be measured from the rear LEDs using a backpropagation neural network with the help of two cameras [20]. However, in metropolitan areas, only one LED may be visible in the captured image owing to lots of traffic that challenge is addressed in [21]. Additionally, the distance measurement error caused by commercial low-resolution cameras is significantly reduced by splitting one pixel into multiple regions. However, no light was shed on the IoV. In our proposed scheme, OCC is applied to transmit a vehicle's identity (ID) to the following vehicles (FLVs) so that they can distinguish between the different transmitters. The FWVs' location information is calculated from the projected LED coordinates on the image sensor (IS), and the moving direction of the FWVs and road curvature are determined from the rear LED shapes on the IS using a neural network (NN). Moreover, a novel modulation scheme, called bi-level pulse position modulation (BPPM), is proposed for optical vehicular communication whereby the same information is transmitted from both LEDs and decoded using a single camera. Thus, vehicle localization information can be obtained even if one rear LED is obscured with the necessary information obtained from another LED by virtually creating its coordinates. The main contributions of our work are as follows:  
1. A novel modulation technique is proposed for V2X communications wherein both low-rate and high-rate streams can be simultaneously decoded from the light intensities. This technique successfully converts two camera-based vehicular OCC systems into one;
2. A vehicle localization scheme is proposed that can determine the inter-vehicular distance and angle from the rear LED shapes of the FWVs using a single camera. It can localize an FWV of any size and any taillight design via the assistance of the OCC system;
3. To reduce accidents at road bends, a road curvature estimation technique from the rear LED shapes of the FWVs is implemented. A mathematical approach using OCC as well as a more accurate NN-based approach is explained in the following sections. In this study, first, we formulated the localization and road curvature estimation problems along with a new modulation scheme to improve the OCC performance. Then, we implemented the transmitter and receiver, and subsequently, we decoded the information sent from the LEDs. Simultaneously, we implemented the localization and road curvature measurement algorithms. The performance of the proposed algorithms and the data-decoding mechanism is then evaluated in Python environment.