Anoderb/sku-mobilenetv4-cbam-classifier
011
๐ SKU Product Classifier (MobileNetV4 + CBAM)
Model klasifikasi gambar untuk mendeteksi 19 kategori produk SKU (retail/UMKM Indonesia) via kamera atau upload.
๐ Metrics
๐๏ธ Architecture
- Backbone: MobileNetV4ConvSmall (pretrained ImageNet)
- Attention: CBAM (Convolutional Block Attention Module)
- Head: GlobalAvgPool โ BN โ Dropout(0.3) โ Dense(19)
- Input: 224ร224 RGB, raw pixels [0,255]
- Output: 19 classes (softmax)
๐ Usage
TFLite (Edge / Mobile)
import numpy as np
from PIL import Image
from tflite_runtime.interpreter import Interpreter
interp = Interpreter(model_path="mobilenetv4_cbam_quantized.tflite")
interp.allocate_tensors()
inp, out = interp.get_input_details()[0], interp.get_output_details()[0]
img = Image.open("product.jpg").convert("RGB").resize((224,224))
x = np.array(img, dtype=np.float32) # [0,255]
interp.set_tensor(inp['index'], x[None,...])
interp.invoke()
preds = interp.get_tensor(out['index'])[0]
print(CLASS_NAMES[preds.argmax()])Gradio Webcam Demo
pip install gradio tflite-runtime pillow numpy
python app.pyBuka browser โ klik webcam โ scan produk โ lihat prediksi realtime.
๐ Files
๐ท๏ธ Classes (19 SKU)
frisian-flag-fullcrm-250ml, frisian-flag-strwbry-250ml, gaga-100-grg-jalapeto, gaga-100-kuah-jalapeto, indomie-grg-cb-ijo, indomie-grg-cb-ijo-jumbo, klik-crackers-keju, nabati-siip-keju, pepsodent-72g, sarimi-aym-bwng, sarimi-gls-baso-pds, sedaap-grng, sedaap-kuah-aym-bwg, sedaap-sg-laksa, siplah-mineral-220ml, soffell-bunga, soffell-jeruk, ultramlk-fullcrm-200ml, vica-600ml
๐ Notes
- Trained on Kaggle GPU (T4), 1649 images, 19 classes
- Preprocessing embedded in model (raw [0,255] pixels)
- Best of 6 architectures tested (MobileNetV4 / EfficientNetV2-B0 / ConvNeXt-Tiny ร baseline/CBAM)
Created with Hermes Agent ๐ค
