Jin0908's picture
Upload README.md with huggingface_hub
0acdbfe verified
metadata
license: apache-2.0
tags:
  - object-detection
  - yolo
  - yolov8
  - onnx
  - infrastructure
  - wastemanagement
  - flooding

YOLOv8 Object Detection Model

This is a custom trained YOLOv8 nano model for detecting:

  • Flooding
  • Potholes
  • Waste Management

The model was trained for 200 epochs on a custom dataset.

Model Details

  • Architecture: YOLOv8n (nano)
  • Input Size: 640x640
  • Export Format: ONNX
  • Training Dataset: Custom dataset for 'Flooding', 'Potholes', 'Waste Management'
  • Metrics (best epoch 65 on validation set):
    • mAP50-95: 0.393
    • mAP50: 0.606
    • Flooding mAP50: 0.797
    • Potholes mAP50: 0.430
    • Waste Management mAP50: 0.591

Usage (Example)

This model is provided in ONNX format and can be used for inference in various environments. Here's how you might load it with ONNX Runtime in Python:

import onnxruntime as ort
import numpy as np
from PIL import Image

# Load the ONNX model
session = ort.InferenceSession("Jin0908/muncipal-problem-detection/best.onnx") # Adjust path if downloaded locally

# Prepare input image (example: resize to 640x640, normalize)
image = Image.open("your_image.jpg").resize((640, 640))
input_array = np.array(image) / 255.0  # Normalize to [0, 1]
input_array = np.transpose(input_array, (2, 0, 1)) # (H, W, C) to (C, H, W)
input_array = np.expand_dims(input_array, axis=0).astype(np.float32) # Add batch dimension

# Run inference
outputs = session.run(None, {"images": input_array}) # Corrected: doubled curly braces for literal dict syntax

# Process outputs (this part is specific to YOLOv8 ONNX output and requires custom parsing)
# The output format is typically [batch_size, num_boxes, 4 + num_classes] or similar.
print("Model output shape:", outputs[0].shape)
# Further processing would involve non-max suppression (NMS) and decoding bounding boxes.