Sources | Components | Location | Limitation |
|---|---|---|---|
Hamzah et al. (2024) | ESP32-CAM, HC-SR04 Ultrasonic Sensor, Wi-Fi, Camera | Campus test site, Johor, Malaysia | Sensor accuracy affected by rough surfaces, no field validation, needs power backup, no predictive model |
Syed Zaifudin et al. (2024) | ESP32, YF-S201 flow sensor, Float sensor, Blynk | Indoor test only | No outdoor validation, fixed float thresholds, manual calibration, limited alert mechanisms |
Faudzi et al. (2023) | IoT, GSM, ML (LSTM) | UTM (Skudai), Johor | Short real-time data duration, no rainfall prediction accuracy at the test site, GSM dependency. |
Lee et al. (2024) | ESP32-CAM, OpenCV, Solar panel | Malaysia (General) | Inconsistent accuracy under poor lighting/weather, lacks long-range communication reliability |
Da Loong et al. (2023) | Arduino, LoRa, RF, Logistic Regression, RF | Batu River, Selangor | Site-specific, dependent on the internet for cloud, lacks integration with official alert systems |
Zakaria et al. (2023) | Arduino, HC-SR04, LoRaWAN, TTN, TagoIO, ThingSpeak, Solar Power | East Coast Malaysia (simulated) | Lab-only test, single-node, fixed SFs, no ML prediction, packet loss over long range |
Monzer M. Raslan (2023) | Arduino, LoRa, RF, ML (RF, LR), Sensors (Rain, Humidity, etc.) | UTM, Johor (lab test) | Low recall, limited features, LoRa signal loss, no real-world test |
Hassan et al. (2021) | Arduino UNO, GSM, Water Level, Temp, Humidity Sensors | Pahang (conceptual test) | GSM-only, lacks rainfall data, no prediction, SMS alerts only, small-scale prototype |
Zain et al. (2020) | Arduino, Ultrasonic Sensor, GSM | Perlis (2 test locations) | Unstable GSM, no GPS, SMS-only alerts, sensitive to placement, no cloud/mobile interface |
Saleh et al. (2020) | Sentinel-1 SAR Satellite imagery, Threshold-based classification | Penang (2017 flood case study) | Retrospective analysis only, not real-time, no alert system, depends on satellite pass timing |
Zahir (2019) | Arduino UNO, Ultrasonic Sensor, GSM Module | Melaka (prototype-based) | Internet-dependent, no mobile alerts, basic sensing, lacks prediction, not field-tested |
Hashim et al. (2018) | Ultrasonic sensors, Arduino microcontrollers, GSM module | Lab test (prototype) | Limited range, no cloud or mobile dashboard, SMS/Bluetooth only, no data storage, tested on a small scale |
Noar & Kamal (2017) | NodeMCU, Ultrasonic Sensor, LCD, Wi-Fi, Blynk | Controlled testbed | Short-range, Wi-Fi only, fixed thresholds, lacks power backup & GPS |
Sources | Methods | Classes | Limitation |
|---|---|---|---|
Xu et al. (2023) | YOLO, CNN | Bottle | YOLOW outperforms other models by improving robustness against occlusion, distortion, and reflections in water environments through enhanced feature extraction and optimization techniques. |
Li et al. (2022) | SSD, Faster R-CNN | Bottle, Plastic bag, Planktonic algae, Dead fish | Achieved superior real-time detection accuracy compared to SSD and Faster R-CNN, with 2.9–5.5% better accuracy and 55% faster detection time; operated effectively at 33 FPS. |
Zhang et al. (2022) | R-CNN, EYOLOv3 | Flotage | Enhanced detection accuracy to 82.3% using deep multi-scale feature fusion and Focal Loss; achieved 35 FPS, suitable for real-time applications |
Li et al. (2022) | R-CNN, PC-NET | Bottle, Branch, Milk-box, Plastic bag, Plastic Garbage, Grass, leaf, Ball | Inconsistent accuracy under poor lighting/weather, lacks long-range communication reliability |
Zhou et al. (2021) | CNN, R-CNN, CRB-NET | Ball, Rubbish, Rock, Buoy, Tree, Boat, Animal, Grass, Person | Site-specific, dependent on internet for cloud, lacks integration with official alert systems |
He et al. (2021) | R-CNN, YOLOv5 | Boat, Aquatic, Algae, Dead Pig, Branch | Lab-only test, single-node, fixed SFs, no ML prediction, packet loss over long range |
Zhang et al. (2021) | RefineDet | Flotage | Low recall, limited features, LoRa signal loss, no real-world test |
Zhang et al. (2019) | Faster R-CNN, YOLOv3 | Flotage | GSM-only, lacks rainfall data, no prediction, SMS alerts only, small-scale prototype |
Sun et al. (2019) | CNN | Floating Object | Short-range, Wi-Fi only, fixed thresholds, lacks power backup & GPS |
Parameters | Description |
|---|---|
-- img | size of images that the model will be trained on; the default value is 416. |
-- batch-size | the batch size determines the speed of the training; the default is 32. |
-- epochs | number of training epochs; the default is 300. |
-- data | path to the .yaml file. |
-- weights | Original weight from the official GitHub repository (yolo.pt) |
-- img | Size of images that the model will be trained on; the default value is 416. |
Algorithm 1: Function to Count the Detected Floating Debris and Display the Count | ||||
|---|---|---|---|---|
# Counting and Displaying the Counting | ||||
1 | For a count that is unique in the detection list | |||
2 | Sum the number of detections per class when the element in the detection list matches the count and store it in the variable n | |||
3 | Load an image | |||
4 | Define the initial display (text) for counting: position, font size, and font color | |||
5 | For class name and count in the counting list | |||
6 | Compare the class name and check if n is greater than the count | |||
7 | If n is greater than the count, update the count list | |||
8 | End | |||
9 | End | |||
10 | For class name and count in the counting list | |||
11 | Print and display the list containing the class name and the count | |||
12 | End | |||
13 | End | |||
Labels | Precision | |
|---|---|---|
YOLOv7 | YOLOv9 | |
0. Bottle | 0.919 | 0.931 |
1. Branch | 0.769 | 0.860 |
2. Can | 0.929 | 0.933 |
3. Cup | 0.983 | 0.989 |
4. Styrofoam | 0.918 | 0.937 |
5. Plastic bag | 0.867 | 0.914 |
6. Clustered Trash | 0.900 | 0.853 |
7. Plastic Container | 0.920 | 0.693 |
8. Cardboard | 0.909 | 0.871 |
9. Canopy | 0.987 | 0.908 |
10. Table | 0.867 | 0.820 |
11. Chair | 0.795 | 0.775 |
12. Big Umbrella | 0.934 | 0.910 |
Labels | Precision | |
|---|---|---|
YOLOv7 | YOLOv9 | |
0. Bottle | 0.922 | 0.853 |
1. Branch | 0.455 | 0.273 |
2. Can | 0.871 | 0.686 |
3. Cup | 0.976 | 0.966 |
4. Styrofoam | 0.913 | 0.892 |
5. Plastic bag | 0.898 | 0.835 |
6. Clustered Trash | 0.898 | 0.884 |
7. Plastic Container | 0.781 | 0.906 |
8. Cardboard | 0.910 | 0.864 |
9. Canopy | 0.927 | 0.865 |
10. Table | 0.780 | 0.682 |
11. Chair | 0.989 | 0.818 |
12. Big Umbrella | 0.955 | 0.891 |
Labels | Precision | |
|---|---|---|
YOLOv7 | YOLOv9 | |
0. Bottle | 0.967 | 0.934 |
1. Branch | 0.585 | 0.319 |
2. Can | 0.935 | 0.850 |
3. Cup | 0.995 | 0.991 |
4. Styrofoam | 0.924 | 0.911 |
5. Plastic bag | 0.918 | 0.893 |
6. Clustered Trash | 0.970 | 0.951 |
7. Plastic Container | 0.935 | 0.916 |
8. Cardboard | 0.922 | 0.900 |
9. Canopy | 0.955 | 0.938 |
10. Table | 0.864 | 0.804 |
11. Chair | 0.801 | 0.810 |
12. Big Umbrella | 0.983 | 0.963 |
Labels | Precision | |
|---|---|---|
YOLOv7 | YOLOv9 | |
0. Bottle | 0.700 | 0.680 |
1. Branch | 0.319 | 0.207 |
2. Can | 0.745 | 0.679 |
3. Cup | 0.915 | 0.914 |
4. Styrofoam | 0.712 | 0.704 |
5. Plastic bag | 0.710 | 0.677 |
6. Clustered Trash | 0.637 | 0.614 |
7. Plastic Container | 0.755 | 0.758 |
8. Cardboard | 0.714 | 0.732 |
9. Canopy | 0.688 | 0.685 |
10. Table | 0.536 | 0.486 |
11. Chair | 0.556 | 0.568 |
12. Big Umbrella | 0.723 | 0.705 |