Diseño e implementación de un sistema de detección de tomates mediante un robot agrícola autónomo
Author:
Rivera Chinchuña, Jonny IsmaelDirector:
Manzano Crespo, José MaríaDate:
2024-01Abstract:
El cultivo de tomates no podados cultivados en el suelo, que representan una realidad común en la agricultura a diferencia de los que se encuentran sujetos a tutores y podados, presenta características distintas que dificultan su detección y que es conveniente abordar. Este trabajo se enfoca específicamente en desarrollar un sistema automático de detección y recuento de tomates mediante visión artificial integrado en un robot agrícola autónomo con vistas a hacer una predicción precisa de su producción. Tras pruebas con otros vehículos se utilizó un DF-4J Crawler XXL por su velocidad adecuada, su potencia y su buena amortiguación, adecuada para desplazarse entre las tomateras. Si bien en un primer momento y para el entrenamiento del sistema de visión, detección y catalogación de los tomates éste fue dirigido manualmente mediante su mando de control remoto, posteriormente se le incorporaron dos sensores ultrasónicos para detección de distancia así como una cámara frontal para mantener la dirección y hacer que fuera autónomo. Para la detección de los tomates de las imágenes tomadas mediante video por una webcam adosada a un lateral del vehículo se eligió el programa YOLO en su versión 8 (YOLOv8) previamente entrenado en este trabajo y que utiliza Transfer Learning junto con el algoritmo DEEPSORT para el seguimiento de objetos en el tiempo y el Filtro de Kalman como método de estimación para predecir y corregir su trayectoria. Se utilizaron asimismo con este fin los algoritmos Bot-Sort y ByteTrack de Ultralytics para seguir y contar los tomates. El vehículo, así como los sensores y las cámaras (frontal y lateral de detección) fueron controladas mediante una placa Raspberry Pi mientras que para el procesamiento de imágenes se utilizó un ordenador portátil Lenovo NVIDIA Para toda la programación, tanto de la placa Raspberry Pi con sistema Linux como del ordenador con sistema Windows se utilizó Python con algunas de sus bibliotecas populares incluyendo OpenCV, PyTorch y YOLOv8. En este trabajo se lograron cumplir satisfactoriamente los objetivos propuestos. En primer lugar, se logró implementar con éxito la conducción autónoma en el coche RC, lo cual permitió recopilar imágenes de manera automatizada. Además, se desarrolló un modelo de entrenamiento eficiente que demostró un buen desempeño en la detección, seguimiento y recuento de tomates. Estas metas se alcanzaron gracias a la utilización de la arquitectura YOLOv8, que destacó por su precisión y eficacia en la detección de objetos. Cabe mencionar que, durante el desarrollo del proyecto, se enfrentaron dificultades relacionadas con el terreno irregular del campo, lo que representó un desafío adicional en el seguimiento y recuento de los tomates. No obstante y a pesar de estas dificultades, se lograron obtener los resultados deseados y se demostró la viabilidad del sistema propuesto.
El cultivo de tomates no podados cultivados en el suelo, que representan una realidad común en la agricultura a diferencia de los que se encuentran sujetos a tutores y podados, presenta características distintas que dificultan su detección y que es conveniente abordar. Este trabajo se enfoca específicamente en desarrollar un sistema automático de detección y recuento de tomates mediante visión artificial integrado en un robot agrícola autónomo con vistas a hacer una predicción precisa de su producción. Tras pruebas con otros vehículos se utilizó un DF-4J Crawler XXL por su velocidad adecuada, su potencia y su buena amortiguación, adecuada para desplazarse entre las tomateras. Si bien en un primer momento y para el entrenamiento del sistema de visión, detección y catalogación de los tomates éste fue dirigido manualmente mediante su mando de control remoto, posteriormente se le incorporaron dos sensores ultrasónicos para detección de distancia así como una cámara frontal para mantener la dirección y hacer que fuera autónomo. Para la detección de los tomates de las imágenes tomadas mediante video por una webcam adosada a un lateral del vehículo se eligió el programa YOLO en su versión 8 (YOLOv8) previamente entrenado en este trabajo y que utiliza Transfer Learning junto con el algoritmo DEEPSORT para el seguimiento de objetos en el tiempo y el Filtro de Kalman como método de estimación para predecir y corregir su trayectoria. Se utilizaron asimismo con este fin los algoritmos Bot-Sort y ByteTrack de Ultralytics para seguir y contar los tomates. El vehículo, así como los sensores y las cámaras (frontal y lateral de detección) fueron controladas mediante una placa Raspberry Pi mientras que para el procesamiento de imágenes se utilizó un ordenador portátil Lenovo NVIDIA Para toda la programación, tanto de la placa Raspberry Pi con sistema Linux como del ordenador con sistema Windows se utilizó Python con algunas de sus bibliotecas populares incluyendo OpenCV, PyTorch y YOLOv8. En este trabajo se lograron cumplir satisfactoriamente los objetivos propuestos. En primer lugar, se logró implementar con éxito la conducción autónoma en el coche RC, lo cual permitió recopilar imágenes de manera automatizada. Además, se desarrolló un modelo de entrenamiento eficiente que demostró un buen desempeño en la detección, seguimiento y recuento de tomates. Estas metas se alcanzaron gracias a la utilización de la arquitectura YOLOv8, que destacó por su precisión y eficacia en la detección de objetos. Cabe mencionar que, durante el desarrollo del proyecto, se enfrentaron dificultades relacionadas con el terreno irregular del campo, lo que representó un desafío adicional en el seguimiento y recuento de los tomates. No obstante y a pesar de estas dificultades, se lograron obtener los resultados deseados y se demostró la viabilidad del sistema propuesto.
Collections
Files in this item



