# Vulnerable Road User Detection for Roadside-Assisted Safety Protection: A Comprehensive Survey
## 3 VRU Detection Models
### Single-Sensor
#### 3.1.1 Camera-Based Detection  
The camera is the most commonly used sensor for detecting VRUs. Thus, the camera-based detection method is one of the earliest and most mature algorithm types. Two decades ago, [PERSON] and [PERSON] [72] introduced a method using the Haar-like feature and Adaboost algorithm for real-time detection of human faces that surpassed all contemporaneous algorithms in both real-time performance and detection accuracy, without imposing any constraints. [PERSON] and [PERSON] [73] presented the Histogram of Oriented Gradients (HOG) feature descriptor, which significantly improved upon the scale-invariant feature transform and shape context. This detector has become a cornerstone in various object detection systems and has found extensive use in practical applications. For example, HOG was used on pedestrian detection, and the miss rate was under 0.01 at 10-6 False Positives Per Window (FPPW) on the original MIT pedestrian database [73; 74]. The Deformable Part-based Model (DPM) is another classical 2D detector, which is the SOTA method of traditional methods and is commonly used in VRU detection [13]. In general, HOG and DPM are suitable for detecting non-rigid objects like pedestrians, with tolerance to the pose and view variations. With the development of deep learning (DL), convolutional neural networks (CNNs) [75] began to be widespread by extracting the features with data-driven methods instead of manual feature engineering. In addition, [PERSON] et al. [76] introduced Regions with CNN features (R-CNN) for object detection, making the detection in an image with multiple objects possible by generating region proposals. Concurrently, [PERSON] et al. [77] developed Spatial Pyramid Pooling Networks (SPPNets), which achieved feature representation independent of image size and operated 20 times faster than R-CNN while maintaining accuracy. Later,  
Figure 3: Matrix of sensor and modal (this figure was designed using resources from Flaticon.com). many additional fast and accurate 2D image detection algorithms were proposed. Fast R-CNN [78] is over 200 times faster than R-CNN. Faster R-CNN [17] is the first end-to-end and near real-time DL detector, which is also the start of anchor-based detection models. Feature Pyramid Networks (FPNs) [20] utilized a pyramid-like structure to detect different-scale objects in the same image, which can be combined with Faster R-CNN. You Only Look Once (YOLO) [79] is the first one-stage DL detector with extremely fast speed. As of now, it has been updated to YOLO v9 [80]. Single Shot MultiBox Detector (SSD) [18] is also a one-stage detector with significantly improved accuracy, but is not suitable for small object detection. Another simple dense one-stage detector is RetinaNet [19], which addresses the detection of rare or small class objects with focal loss function. In addition, there are some anchor-free methods, such as CornerNet [25] and CenterNet [26]. In recent years, Transformers [81] incorporating attention mechanisms have emerged as the predominant trend in most object perception tasks. Vision Transformer (ViT) [27], DEtection TRansformer (DETR) [28], Swin Transformer [29], and Pyramid Vision Transformer (PVT) [30] are the milestone Transformer-based 2D detection models. The trend of 2D detection models is becoming simpler in structure with fewer steps without many manual definitions and introducing new backbone networks. Regarding the existing VRU detection research, researchers mainly utilized the CNN-based 2D detectors, fine-tuned them, and trained them with specific class datasets to detect different VRUs, not limited to pedestrians. [PERSON] et al. [10] compared the performance of Faster R-CNN [17], SSD [18] and Region-based Fully Convolutional Network (R-FCN) [82] with different feature extractors in cyclist detection. As a result, the SSD was chosen as the detector because of its higher Frames Per Second (FPS) for real-time implementation.