This project aims to enhance farming efficiency using computer vision and deep learning techniques implemented on a Jetson Nano device. The project consists of three main components: weed detection using YOLOv4 and YOLOv5, and lane detection using Hough Transform.
Located in yolov4-Weed-Detection/, this component uses YOLOv4 for real-time weed detection in agricultural fields.
- Features:
- Image-based weed detection (
detect_image.py) - Video-based weed detection (
detect_video.py) - Pre-trained weights included (
crop_weed_detection.weights) - Configuration file for model architecture (
crop_weed.cfg)
- Image-based weed detection (
- Note: This implementation runs on CPU as it doesn't support GPU acceleration on Jetson Nano
Located in yolov5-Weed-Detection/, this is an improved version using YOLOv5 for weed detection with GPU acceleration support.
- Features:
- Real-time detection capabilities (
detectRT.ipynb) - ONNX model support for optimized inference (
detect_using_onnx.ipynb) - Image and video detection scripts
- Pre-trained ONNX model included (
best.onnx) - TensorRT optimization for GPU acceleration on Jetson Nano
- Significantly improved inference speed compared to YOLOv4 implementation
- Hardware-accelerated inference leveraging Jetson Nano's GPU capabilities
- Real-time detection capabilities (
Located in Hough-transform-laneDetection/, this component implements lane detection using Hough Transform for agricultural vehicle navigation.
- Features:
- Lane detection in agricultural fields
- Jupyter notebook implementation for easy experimentation
- Jetson Nano device
- Python 3.x
- CUDA support (for GPU acceleration)
- Necessary Libraries such as: OpenCV, TensorRT (for YOLOv5 GPU optimization), Matplotlib and NumPy
- Clone the repository:
git clone [repository-url]
cd farmers-efficiency-jetson-nano- Setup the environment with required dependencies on jetson nano.
# For image detection
python detect_image.py
# For video detection
python detect_video.py # For real-time detection with GPU acceleration
python detectRT.ipynb
# For ONNX model inference with TensorRT optimization
python detect_using_onnx.ipynbOpen and run the Jupyter notebook in the Hough-transform-laneDetection directory.