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.ipynb
Open and run the Jupyter notebook in the Hough-transform-laneDetection directory.