The primary reviewable demo is assets/demo/factoryvision-demo.mp4.
It is a 2 minute 30 second walkthrough of the FactoryVision path. A looping
GIF fallback is also included:
image upload -> FastAPI /predict -> ONNX mask and score
-> prediction persistence -> Prometheus/Grafana
-> MLflow experiment and registered candidate
The video is assembled from real repository evidence. Its API response is
generated by calling the real FastAPI /predict route with the ONNX model and
an in-memory store. The monitoring frame is a captured local Grafana dashboard,
and the MLflow frame uses the actual mini-study results. This keeps the demo
reproducible without requiring a cloud account or embedding credentials.
The model still receives its fixed 256 x 640 letterboxed input. For the
qualitative prediction image, the padded region is cropped away and the mask is
mapped back to the original image dimensions, so the source image appears only
once.
| Time | Scene | What to explain |
|---|---|---|
| 0:00–0:12 | Opening flow | The image moves through serving, persistence, monitoring, and tracking. |
| 0:12–0:36 | API upload | /predict accepts a multipart image and returns the model response. |
| 0:36–1:06 | Segmentation | Logits become probabilities, a threshold creates a binary mask, and post-processing derives the score and box. |
| 1:06–1:36 | Monitoring | Prometheus collects counters/histograms and Grafana displays service and model signals. |
| 1:36–2:06 | MLflow | Comparable runs are inspected and the baseline is registered as the candidate. |
| 2:06–2:30 | Reproduction | The README and operational cards provide the commands, evidence, and limitations. |
The model artifact must exist at
artifacts/models/factoryvision-segmentation.onnx. If necessary, follow the
training, registration, and ONNX export instructions in the README first.
.venv\Scripts\python.exe scripts\build_demo_gif.pyThe script writes:
assets/demo/factoryvision-demo.mp4— the primary 2:30 demo video;assets/demo/factoryvision-demo.gif— a looping GIF fallback;assets/demo/factoryvision-demo-storyboard.png— a static six-scene review;assets/demo/api-prediction-overlay.png— the actual API prediction overlay;assets/demo/api-response.json— the exact response used in the API scene.
The generated API evidence uses an in-memory persistence adapter, so it does not replace the Docker Compose integration test. For the complete live flow, start the Compose stack using the README instructions, upload an image through the interactive API docs, then refresh Grafana and MLflow while narrating the same sequence.