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 nameplate
    • has_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

Dataset used to train kahua-ml/nameplate-classifier