Nameplate Classifier
Model Description
This is a lightweight binary image classifier that determines whether an image contains a readable nameplate or not. The model is based on MobileNetV2 architecture and is optimized for industrial equipment nameplate detection.
Model Details
- Model Type: Image Classification (Binary)
- Architecture: MobileNetV2 backbone with custom classifier
- Framework: PyTorch
- Model Size: ~9.4MB
- Input Size: 224x224 RGB images
- Classes:
no_nameplate
(0): Image does not contain a readable nameplatehas_nameplate
(1): Image contains a readable nameplate
Training Data
The model was trained on the kahua-ml/nameplate-classification
dataset, which contains:
- Positive examples: 3,456 images with nameplates from industrial equipment
- Negative examples: 826 images without nameplates from construction safety and industry datasets
- Total: 4,282 images
Performance
- Expected Accuracy: 85-95%
- Training Time: ~10-15 minutes
- Inference Speed: Very fast (optimized for real-time applications)
Usage
import torch
import torchvision.transforms as transforms
from PIL import Image
# Load model
model = torch.load("model.pth", map_location='cpu')
model.eval()
# Prepare image
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225])
])
# Predict
image = Image.open("your_image.jpg")
input_tensor = transform(image).unsqueeze(0)
with torch.no_grad():
outputs = model(input_tensor)
probabilities = torch.nn.functional.softmax(outputs, dim=1)
predicted = torch.max(outputs, 1)[1].item()
confidence = probabilities[0][predicted].item()
result = "has_nameplate" if predicted == 1 else "no_nameplate"
print(f"Prediction: {result} (Confidence: {confidence:.3f})")
Applications
- Industrial equipment documentation
- Asset management systems
- Quality control in manufacturing
- Automated inventory systems
Limitations
- Optimized for industrial nameplates
- May not work well on severely damaged or obscured nameplates
- Requires clear, readable text on nameplates
Training Details
- Optimizer: Adam
- Loss Function: CrossEntropyLoss
- Epochs: 5
- Batch Size: 32
- Learning Rate: 0.001
- Data Augmentation: Random horizontal flip, rotation, color jitter
Model Architecture
LightweightNameplateClassifier(
(backbone): MobileNetV2(
(classifier): Sequential(
(0): Dropout(p=0.2)
(1): Linear(in_features=1280, out_features=128)
(2): ReLU()
(3): Dropout(p=0.3)
(4): Linear(in_features=128, out_features=2)
)
)
)
Citation
If you use this model in your research, please cite:
@misc{kahua-nameplate-classifier,
title={Lightweight Nameplate Classifier},
author={Kahua ML Team},
year={2024},
howpublished={\url{https://huggingface.co/kahua-ml/nameplate-classifier}}
}
- Downloads last month
- 6
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support