Submitted:
03 September 2024
Posted:
04 September 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
1.1. Related Work
1.2. Contributions
- Nodes are detected with the further objective of being considered for pruning rules;
- Node detection is achieved by the algorithm even when visualising the entire grapevine;
- Elimination of artificial background requirement for the implementation of the detection model ensures acceptable accuracy, practicality, and versatility in real-world vineyard environments, where natural backgrounds vary widely;
- Further implementation on a real-time system is possible, not producing inference times that compromise the pruning task execution.
2. Materials and Methods
2.1. Datasets
2.2. Deep Learning Models
2.3. Training Configuration and Augmentations
3. Results
3.1. Validation and Field Trials
4. Discussion
4.1. Adaptability to Different Grapevine’s Configurations And Environments
4.2. Capability of Implementation in a Real-Time System
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
| 2D | Two-dimensional |
| AP | Average Precision |
| CIoU | Complete Intersection over Union |
| CNN | Convolutional Neural Network |
| CVAT | Computer Vision Annotation Tool |
| DFL | Distribution Focal Loss |
| FCN | Fully Convolutional Network |
| GELAN | Generalized Efficient Layer Aggregation Network |
| mAP | Mean Average Precision |
| MS COCO | Microsoft Common Objects in Context |
| NMS | Non-Maximum Suppression |
| PGI | Programmable Gradient Information |
| SHG | Stacked Hourglass Network |
| YOLO | You Only Look Once |
| 1 | CVAT. https://www.cvat.ai/
|
| 2 | OM System. https://explore.omsystem.com/us/en/
|
| 3 | Ultralytics. https://www.ultralytics.com/
|
| 4 | NVIDIA GeForce RTX 3090. https://www.nvidia.com/en-eu/geforce/graphics-cards/30-series/rtx-3090-3090ti/
|
References
- Botterill, T.; Paulin, S.; Green, R.D.; Williams, S.; Lin, J.; Saxton, V.; Mills, S.; Chen, X.; Corbett-Davies, S. A Robot System for Pruning Grape Vines. Journal of Field Robotics 2017, 34. [Google Scholar] [CrossRef]
- Poni, S.; Sabbatini, P.; Palliotti, A. Facing Spring Frost Damage in Grapevine: Recent Developments and the Role of Delayed Winter Pruning – A Review. American Journal of Enology and Viticulture 2022, 73, 211–226. [Google Scholar] [CrossRef]
- Reich, L. The Pruning Book; Taunton Press, 2010.
- Silwal, A.; Yandun, F.; Nellithimaru, A.; Bates, T.; Kantor, G. Bumblebee: A Path Towards Fully Autonomous Robotic Vine Pruning, 2021, [arXiv:cs.RO/2112.00291].
- Williams, H.; Smith, D.; Shahabi, J.; Gee, T.; Nejati, M.; McGuinness, B.; Black, K.; Tobias, J.; Jangali, R.; Lim, H.; Duke, M.; Bachelor, O.; McCulloch, J.; Green, R.; O’Connor, M.; Gounder, S.; Ndaka, A.; Burch, K.; Fourie, J.; Hsiao, J.; Werner, A.; Agnew, R.; Oliver, R.; MacDonald, B.A. Modelling wine grapevines for autonomous robotic cane pruning. Biosystems Engineering 2023, 235, 31–49. [Google Scholar] [CrossRef]
- Oliveira, F.; Tinoco, V.; Magalhães, S.; Santos, F.N.; Silva, M.F. End-Effectors for Harvesting Manipulators - State Of The Art Review. 2022 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), 2022, pp. 98–103. [CrossRef]
- He, L.; Schupp, J. Sensing and Automation in Pruning of Apple Trees: A Review. Agronomy 2018, 8. [Google Scholar] [CrossRef]
- Collins, C.; Wang, X.; Lesefko, S.; De Bei, R.; Fuentes, S. Effects of canopy management practices on grapevine bud fruitfulness. OENO One 2020, 54, 313–325. [Google Scholar] [CrossRef]
- Cuevas-Velasquez, H.; Gallego, A.J.; Tylecek, R.; Hemming, J.; Van Tuijl, B.; Mencarelli, A.; Fisher, R.B. Real-time Stereo Visual Servoing for Rose Pruning with Robotic Arm. 2020, p. 7050 – 7056. [CrossRef]
- Villegas Marset, W.; Pérez, D.S.; Díaz, C.A.; Bromberg, F. Towards practical 2D grapevine bud detection with fully convolutional networks. Computers and Electronics in Agriculture 2021, 182, 105947. [Google Scholar] [CrossRef]
- Gentilhomme, T.; Villamizar, M.; Corre, J.; Odobez, J.M. Towards smart pruning: ViNet, a deep-learning approach for grapevine structure estimation. Computers and Electronics in Agriculture 2023, 207, 107736. [Google Scholar] [CrossRef]
- Redmon, J.; Divvala, S.; Girshick, R.; Farhadi, A. You Only Look Once: Unified, Real-Time Object Detection. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 779–788. [CrossRef]
- Wang, C.; Bochkovskiy, A.; Liao, H. YOLOv7: Trainable Bag-of-Freebies Sets New State-of-the-Art for Real-Time Object Detectors. 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR); IEEE Computer Society: Los Alamitos, CA, USA, 2023; pp. 7464–7475. [Google Scholar] [CrossRef]
- Jocher, G.; Chaurasia, A.; Qiu, J. Ultralytics YOLOv8 2023.
- Wang, C.Y.; Liao, H.Y.M. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information 2024.
- Wang, A.; Chen, H.; Liu, L.; Chen, K.; Lin, Z.; Han, J.; Ding, G. YOLOv10: Real-Time End-to-End Object Detection, 2024, [arXiv:cs.CV/2405.14458].
- Lavrador da Silva, A..; João Fernão-Pires, M..; Bianchi-de-Aguiar, F.. Portuguese vines and wines: heritage, quality symbol, tourism asset. Ciência Téc. Vitiv. 2018, 33, 31–46. [CrossRef]
- Oliveira, F.A.; Silva, D.Q. Douro & Dão Grapevines Dataset for Node Detection, 2024. [CrossRef]
- Casas, G.G.; Ismail, Z.H.; Limeira, M.M.C.; da Silva, A.A.L.; Leite, H.G. Automatic Detection and Counting of Stacked Eucalypt Timber Using the YOLOv8 Model. Forests 2023, 14. [Google Scholar] [CrossRef]
- Xie, S.; Sun, H. Tea-YOLOv8s: A Tea Bud Detection Model Based on Deep Learning and Computer Vision. Sensors 2023, 23. [Google Scholar] [CrossRef] [PubMed]
- Lin, T.Y.; Maire, M.; Belongie, S.; Bourdev, L.; Girshick, R.; Hays, J.; Perona, P.; Ramanan, D.; Zitnick, C.L.; Dollár, P. Microsoft COCO: Common Objects in Context, 2015, [arXiv:cs.CV/1405.0312].
- Terven, J.; Córdova-Esparza, D.M.; Romero-González, J.A. A Comprehensive Review of YOLO Architectures in Computer Vision: From YOLOv1 to YOLOv8 and YOLO-NAS. Machine Learning and Knowledge Extraction 2023, 5, 1680–1716. [Google Scholar] [CrossRef]
- Jocher, G. YOLOv5 by Ultralytics 2020. [CrossRef]
- Li, X.; Wang, W.; Wu, L.; Chen, S.; Hu, X.; Li, J.; Tang, J.; Yang, J. Generalized focal loss: learning qualified and distributed bounding boxes for dense object detection. Proceedings of the 34th International Conference on Neural Information Processing Systems; Curran Associates Inc.: Red Hook, NY, USA, 2020; NIPS’20. [Google Scholar]
- Zheng, Z.; Wang, P.; Liu, W.; Li, J.; Ye, R.; Ren, D. Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression. Proceedings of the AAAI Conference on Artificial Intelligence 2020, 34, 12993–13000. [Google Scholar] [CrossRef]
- Vougioukas, S.G. Agricultural Robotics. Annual Review of Control, Robotics, and Autonomous Systems 2019, 2, 365–392. [Google Scholar] [CrossRef]
- Bechar, A.; Vigneault, C. Agricultural robots for field operations: Concepts and components. Biosystems Engineering 2016, 149, 94–111. [Google Scholar] [CrossRef]
- Hsueh, B.Y.; Li, W.; Wu, I.C. Stochastic Gradient Descent With Hyperbolic-Tangent Decay on Classification. 2019 IEEE Winter Conference on Applications of Computer Vision (WACV), 2019, pp. 435–442. [CrossRef]
- Prechelt, L., Early Stopping - But When? In Neural Networks: Tricks of the Trade; Orr, G.B.; Müller, K.R., Eds.; Springer Berlin Heidelberg: Berlin, Heidelberg, 1998; pp. 55–69. [CrossRef]
- Butko, N.J.; Movellan, J.R. Optimal scanning for faster object detection. 2009 IEEE Conference on Computer Vision and Pattern Recognition, 2009, pp. 2751–2758. [CrossRef]
- Zahid, A.; Mahmud, M.S.; He, L.; Heinemann, P.; Choi, D.; Schupp, J. Technological advancements towards developing a robotic pruner for apple trees: A review. Computers and Electronics in Agriculture 2021, 189, 106383. [Google Scholar] [CrossRef]









| Augmentation Operation | Values | Description |
|---|---|---|
| Horizontal Flip | - | Flips the image horizontally |
| Scale | 0.7× | Scales down the image by 30% |
| 1.3× | Scales up the image by 30% | |
| Rotation | -15º | Rotates the image -15º |
| +15º | Rotates the image 15º | |
| Hue, Saturation and Value | -15 ≤ hue ≤ 1 | Changes the image’s hue, saturation and value levels |
| -20 ≤ saturation ≤ 20 | ||
| -30 ≤ value ≤ 30 | ||
| CLAHE | contrast limit = 4 | Applies Contrast Limited Adaptive Histogram Equalization to the image |
| grid size = 8 × 8 | ||
| Emboss | 0.4 ≤ alpha ≤ 0.6 | Embosses the image and overlays the result with the original image |
| 0.5 ≤ strength ≤ 1.5 | ||
| Sharpen | 0.2 ≤ alpha ≤ 0.5 | Sharpens the image and overlays the result with the original image |
| 0.5 ≤ lightness ≤ 1.5 | ||
| Optical Distortion | -0.15 | Applies negative optical distortion to the image |
| +0.15 | Applies positive optical distortion to the image | |
| Gaussian Blur | blur≤ 7 | Blurs the image using a Gaussian filter |
| ≤ 5 | ||
| Glass Blur | = 0.5 | Applies glass blur to the image |
| = 2 | ||
| ISO Noise | colour shift = 0.15 | Applies ISO noise to the image |
| intensity = 0.6 | ||
| Random Rain | - | Adds random rain to the image |
| Random Fog | - | Adds random fog to the image |
| Random Snow | - | Adds random snow to the image |
| Spatter Mud | - | Adds mud spatter to the image |
| Spatter Rain | - | Adds rain spatter to the image |
| Parameter | YOLOv7-tiny | YOLOv8s | YOLOv9-S | YOLOv10-S |
|---|---|---|---|---|
| Input Size | 640×640 px | 640×640 px | 640×640 px | 640×640 px |
| Batch Size | 16 | 16 | 16 | 16 |
| Initial Learning Rate | 0.01 | 0.01 | 0.01 | 0.01 |
| Final Learning Rate | 0.0002 | 0.0002 | 0.0002 | 0.002 |
| Optimizer | AdamW | AdamW | AdamW | AdamW |
| Cos_lr Function | False | True | True | True |
| Cls_mosaic Parameter | - | 50 | 50 | 50 |
| Dataset | Model | Input Size (px) | Precision | Recall | F1-Score | mAP@50 | Precision | Recall | F1-Score | mAP@50 |
|---|---|---|---|---|---|---|---|---|---|---|
| Confidence ≥ 10% | On The Best F1-Score | |||||||||
| 3D2cut | YOLOv7-tiny | 640×640 | 84.5% | 86.8% | 85.6% | 83.4% | 84.5% | 86.8% | 85.6% | 83.4% |
| YOLOv8s | 90.9% | 73.8% | 81.5% | 71.3% | 90.9% | 73.8% | 81.5% | 71.3% | ||
| YOLOv9-S | 91.1% | 76.2% | 83% | 74.6% | 91.1% | 76.2% | 83% | 74.6% | ||
| YOLOv10-S | 87.9% | 77.3% | 82.3% | 75.3% | 87.9% | 77.3% | 82.3% | 75.3% | ||
| YOLOv7-tiny | 1280×1280 | 71.8% | 92.6% | 80.9% | 86.6% | 88.8% | 84.3% | 86.5% | 80.1% | |
| YOLOv8s | 76.3% | 91.4% | 83.2% | 84.9% | 87.6% | 86.8% | 87.2% | 80.8% | ||
| YOLOv9-S | 78.4% | 93.1% | 85.1% | 88.5% | 84.1% | 90.5% | 87.2% | 86.1% | ||
| YOLOv10-S | 80.6% | 91.4% | 85.7% | 86.8% | 85.8% | 89.8% | 87.8% | 85.2% | ||
| Dão | YOLOv7-tiny | 640×640 | 79% | 49.5% | 60.8% | 44.5% | 79% | 49.5% | 60.8% | 44.5% |
| YOLOv8s | 85.5% | 19% | 31.1% | 18.8% | 85.5% | 19% | 31.1% | 18.8% | ||
| YOLOv9-S | 76.6% | 16% | 26.4% | 13.9% | 76.6% | 16% | 26.4% | 13.9% | ||
| YOLOv10-S | 78.9% | 13.9% | 23.7% | 12% | 78.9% | 13.9% | 23.7% | 12% | ||
| YOLOv7-tiny | 1280×1280 | 73.4% | 70.4% | 71.8% | 61.5% | 76.4% | 69.7% | 72.9% | 60.8% | |
| YOLOv8s | 76.4% | 64.7% | 70% | 53.9% | 76.4% | 64.7% | 70% | 53.9% | ||
| YOLOv9-S | 79.3% | 61.4% | 69.2% | 50.8% | 79.3% | 61.4% | 69.2% | 50.8% | ||
| YOLOv10-S | 80% | 55.4% | 65.5% | 46.1% | 80% | 55.4% | 65.5% | 46.1% | ||
| Douro | YOLOv7-tiny | 640×640 | 72.2% | 47% | 56.9% | 42% | 72.2% | 47% | 56.9% | 42% |
| YOLOv8s | 67.3% | 18.7% | 29.2% | 14.6% | 67.3% | 18.7% | 29.2% | 14.6% | ||
| YOLOv9-S | 70.6% | 19.9% | 31% | 15.9% | 70.6% | 19.9% | 31% | 15.8% | ||
| YOLOv10-S | 68.5% | 18.9% | 29.6% | 14.5% | 68.5% | 18.9% | 29.6% | 14.5% | ||
| YOLOv7-tiny | 1280×1280 | 63.9% | 70.6% | 67.1% | 62.8% | 74.2% | 65.5% | 69.6% | 59.3% | |
| YOLOv8s | 72.7% | 58.9% | 65.1% | 52% | 72.7% | 58.9% | 65.1% | 52% | ||
| YOLOv9-S | 71.1% | 53.5% | 61.1% | 46.4% | 71.1% | 53.5% | 61.1% | 46.4% | ||
| YOLOv10-S | 77.4% | 49.2% | 60.2% | 44.9% | 77.4% | 49.2% | 60.2% | 44.9% | ||
| Model | Input Size (px) | Average Inference Time (ms) |
|---|---|---|
| YOLOv7-tiny | 640×640 | 20.52 |
| YOLOv8s | 323.79 | |
| YOLOv9-S | 63.82 | |
| YOLOv10-S | 51.59 | |
| YOLOv7-tiny | 1280×1280 | 88.79 |
| YOLOv8s | 502.52 | |
| YOLOv9-S | 288.53 | |
| YOLOv10-S | 260.21 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).