junbin666's picture
Publish Tiny Vial CNN synthetic baseline
ba7940e verified
|
Raw History Blame Contribute Delete
3.49 kB
metadata
language:
  - en
license: mit
library_name: pytorch
pipeline_tag: object-detection
datasets:
  - junbin666/isaac-blue-vial-sdg-contract
tags:
  - nvidia
  - isaac-sim
  - synthetic-data
  - robotics
  - sim-to-real
  - tiny-cnn
model-index:
  - name: Tiny Vial CNN SDG Baseline
    results:
      - task:
          type: object-detection
          name: Single-object bounding-box regression
        dataset:
          type: junbin666/isaac-blue-vial-sdg-contract
          name: Isaac Blue Vial SDG Contract
          split: test
        metrics:
          - type: iou
            value: 0.893093
            name: Mean IoU
          - type: accuracy
            value: 1
            name: Success at IoU >= 0.5

Tiny Vial CNN SDG Baseline

Prediction example

A 141,292-parameter PyTorch CNN that regresses one blue_vial bounding box from a 64×64 RGB image. It is the deliberately small baseline for the Isaac Sim-to-Real VLA Lab and was trained on junbin666/isaac-blue-vial-sdg-contract.

This is an educational offline-contract baseline, not a production object detector or evidence of real-world robotics performance.

Results

Evaluation Result
Best validation mean IoU 0.869151
Test mean IoU 0.893093
Test success at IoU ≥ 0.5 1.0 (9/9)
Parameters 141,292

The test split contains only positive synthetic frames. These results do not measure false positives, object-presence classification, real-camera generalization, occlusion, multi-object detection, or Isaac Replicator imagery.

Files

  • model.safetensors: recommended state dict
  • pytorch_model.pt: original checkpoint loaded with weights_only=True
  • config.json: architecture and preprocessing contract
  • inference.py: standalone inference and PNG overlay example
  • eval_results.json: per-frame held-out results
  • training_metrics.jsonl: 20-epoch training history
  • release_report.json: hashes and release verification

Inference

pip install -r requirements.txt
python inference.py examples/test-frame-000006.png \
  --weights model.safetensors \
  --output prediction.png

Expected box for the included example: [29, 20, 44, 47].

The model outputs normalized (center_x, center_y, width, height) and the script converts it to pixel [x_min, y_min, x_max, y_max] coordinates.

Architecture and training

  • Three stride-2 convolution layers: 3→12→24→32 channels
  • ReLU activations and a two-layer bounding-box head
  • Smooth L1 loss and Adam optimizer
  • Input: RGB, resized to 64×64 and scaled to [0, 1]
  • Seed: 7; CPU training; 20 epochs; batch size 16; learning rate 0.003
  • Training uses positive frames only. Dataset negatives are reserved for a future objectness/classification head.

Intended use

  • Reproduce a tiny synthetic-data bounding-box baseline
  • Exercise checkpoint loading, evaluation, and inference contracts
  • Demonstrate transparent mock/real boundaries in a robotics portfolio

Limitations

Do not use this checkpoint for safety-critical manipulation, production robotics, or real-world claims. It assumes one visible blue vial and cannot express “no object.” Its synthetic renderer and sample count are intentionally small, and all held-out results are in-domain.

License

The model code and weights are released under the MIT License. The associated dataset is CC BY 4.0.