Wicky's picture
Update README.md
05becdd verified
---
title: Bus Inspection Classifier
emoji: 🚌
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 6.2.0
app_file: app.py
pinned: false
license: mit
---
# 🚌 Bus Inspection Classifier - SigLIP v2 ONNX
An automated bus component classification system using the **SigLIP v2** vision model, optimized with ONNX Runtime for fast inference.
## 🎯 Model Details
- **Model**: SigLIP v2 (Sigmoid Loss for Language-Image Pre-training)
- **Format**: ONNX (372.6 MB)
- **Input**: RGB images (224x224)
- **Classes**: 18 bus component categories
- **Inference Time**: ~50-100ms per image (CPU)
## πŸ“‹ Supported Classes
The model can classify the following bus components:
1. AC Mat
2. Alco brake camera
3. Alco-brake device
4. Back windshield
5. Bus back side
6. Bus front side
7. Bus side
8. Cabin
9. Driver grooming
10. First aid kit
11. Floormats & POS
12. Front windshield
13. Hat rack
14. ITMS Device
15. Jack & Spare tyre
16. Luggage compartment
17. RFID Card
18. Seats
## πŸ”Œ API Usage
### Using the Gradio Client (Recommended)
```python
from gradio_client import Client
# Connect to the Space
client = Client("YOUR-USERNAME/bus-inspection")
# Make a prediction
result = client.predict("path/to/bus_image.jpg")
print(result)
# Output: {
# "class_name": "Bus front side",
# "confidence": "98.45%",
# "inference_time_ms": "87.32"
# }
```
### Using Python Requests
```python
import requests
import json
from PIL import Image
import io
# Your Space URL
API_URL = "https://YOUR-USERNAME-bus-inspection.hf.space/api/predict"
# Load image
with open("bus_image.jpg", "rb") as f:
files = {"data": f}
response = requests.post(API_URL, files=files)
result = response.json()
print(f"Class: {result['class_name']}")
print(f"Confidence: {result['confidence']}")
print(f"Inference Time: {result['inference_time_ms']} ms")
```
### Using cURL
```bash
curl -X POST https://YOUR-USERNAME-bus-inspection.hf.space/api/predict \
-F "data=@bus_image.jpg"
```
## πŸ“Š Response Format
The API returns a JSON object with the following fields:
```json
{
"class_name": "Bus front side",
"confidence": "98.45%",
"inference_time_ms": "87.32"
}
```
- **class_name**: The predicted bus component category
- **confidence**: Model confidence score as a percentage
- **inference_time_ms**: Total inference time in milliseconds
## πŸš€ Example Use Cases
- **Quality Control**: Automated inspection of bus components during manufacturing
- **Maintenance Checks**: Verify proper installation of safety equipment
- **Documentation**: Automatically categorize bus inspection photos
- **Training**: Help inspectors identify components correctly
## πŸ› οΈ Technical Implementation
- **Framework**: Gradio for UI and API
- **Runtime**: ONNX Runtime (CPU optimized)
- **Preprocessing**: SigLIP normalization (mean=0.5, std=0.5)
- **Deployment**: Hugging Face Spaces with Git LFS
## πŸ“ License
MIT License - Free for commercial and personal use
## πŸ™ Acknowledgments
Built with SigLIP (Sigmoid Loss for Language-Image Pre-training) from Google Research.