HoReCa · Computer vision · IoTMBO

MBO Smart Buffet: edge computer vision to measure what is eaten and what is thrown away at a buffet

MBO is an Andalusian startup that measures food consumption and waste at hotel buffets. At DPI Systems we carried out the complete technical development of the product: connected cameras and scales, computer vision on NVIDIA Jetson, the cloud platform, the fieldwork and the testing at a hotel in production.

Cold buffet seen from the overhead camera, with each tray and each pair of tongs detected by the model
Hot buffet · liveBreakfast
Beans in tomato sauce676 servings / week
English sausage203 servings / week
Tray 3 · low levelRefill
Client
MBO · Andalusian hospitality technology startup
Sector
Hotels and catering (HoReCa)
Our role
Complete technical development: hardware, IoT, computer vision, platform and fieldwork
Hardware
NVIDIA Jetson AGX Thor, Jetson Orin Nano and pass kiosk
Status
In production at a hotel breakfast buffet
  • NVIDIA Jetson
  • Intel · OpenVINO
  • Ultralytics YOLO11
  • Meta DINOv3
  • FastAPI
  • Next.js
Computer vision
In figures

A buffet measured in real time

16cameras per unitA single NVIDIA Jetson AGX Thor processes the whole buffet.
15 fpsper cameraLive detection and tracking, inside the hotel.
5,033labeled imagesFrom real buffets, from 23 cameras.
[−x%]food waste[pending: figure to be validated with MBO]
The challenge

Measuring a buffet tray by tray

At a buffet nobody knows, with data, how much is served from each tray or how much goes back to the kitchen. Law 1/2025 on the prevention of food loss and waste requires it to be measured, and writing it down by hand at peak time is not feasible.

  • 01

    Weighing without slowing the kitchen down

    Every tray that goes out and comes back passes over the pass. Weighing and identifying it has to be a matter of seconds, not a paper log.

  • 02

    A hostile environment for a camera

    Reflections on steel, steam, and hands, tongs and spoons constantly crossing over dozens of trays.

  • 03

    A menu that changes every day

    The system has to know which dish is in each tray without retraining a model for every new recipe.

  • 04

    Without depending on the hotel network

    If the connection fails, measurement cannot stop or lose data from the service.

  • 05

    Management figures, not video

    Management needs consumption, waste and cost per dish and per shift, not hours of footage.

  • 06

    Guest privacy

    The video never leaves the hotel: it is analyzed on site and only small events reach the cloud.

How it works

Every tray, from the kitchen to the table and back

  1. 01

    It leaves the kitchen

    It is weighed at the pass and a camera identifies the dish by comparing it with the hotel's catalog.

  2. 02

    It is on the buffet

    The cameras count every time a guest serves themselves, measure foot traffic and alert when a tray is low or empty.

  3. 03

    It goes back to the kitchen

    It is weighed again: the difference is the real consumption, and what comes back is the waste, with its cost per gram.

  4. 04

    End of shift

    Trays that do not come back are closed automatically when the service ends, so no data is left incomplete.

Architecture

From the sensor to the kitchen dashboard

The video never leaves the hotel. Each node talks only to the cloud, and always over outgoing HTTPS: no ports need to be opened on the client's network and no changes need to be requested from its IT department.

  1. 01 · In the dining room and kitchen

    Sensors

    • Overhead IP camerasRTSP · H.264 over the local network
    • Network scalesat the pass and the waste station
    • Pass kioskcamera, scale and touchscreen
  2. 02 · In the hotel

    Edge nodes

    • NVIDIA Jetsonup to 16 cameras with DeepStream, YOLO11 and TensorRT
    • KioskYOLO and DINOv3 with OpenVINO on CPU
    • DINOv3 visual fingerprint384 numbers per dish
    • On-disk queueup to 7 days without a connection
  3. 03 · In the cloud

    MBO Platform

    • FastAPI APIa single entry point for events
    • Qdrantidentifies the dish by its visual fingerprint
    • Out ↔ back matchingby weight and similarity
    • PostgreSQL · Redis · MinIOdata, idempotency and images
  4. 04 · In the kitchen and management

    Web dashboard

    • Live kitchen view
    • Low or empty tray alerts
    • Consumption, cost, waste and occupancy
    • Peak hours, refills and reports

Maintenance runs over a private VPN separate from the data flow: if it goes down, the nodes keep sending events.

NVIDIA Jetson AGX Thor module next to its developer kit
NVIDIA Jetson AGX Thor. Image: NVIDIA.
  • NVIDIA Jetson
Hardware

A whole buffet on a single unit

We chose NVIDIA Jetson to run the models next to the cameras: sending 16 video streams to the cloud would be unfeasible in terms of bandwidth, privacy and latency. The Jetson AGX Thor, with Blackwell architecture, handles all the cameras of a large buffet; the Jetson Orin Nano runs the same code in small installations. Both run in Docker as a system service: they start on their own after a power cut and retrieve their configuration from the cloud.

16
cameras per Jetson AGX Thor
15 fps
per camera, in real time
128 GB
of memory in the AGX Thor
2×
faster with TensorRT in FP16
20,000
events queued if the Internet goes down
7 days
offline without losing any data
Cook placing a food tray on the pass kiosk, with the touchscreen showing the current shift
The pass kiosk at the pass: the cook sets down the tray and the screen suggests the dish.
  • Intel · OpenVINO
Pass kiosk

The pass, turned into a sensor

A dedicated station for the pass: scale, overhead camera and touchscreen in a single unit. The cook sets the tray down and within seconds it is weighed, photographed and identified. If in doubt, they choose between the candidate dishes with one tap. In "back to kitchen" mode, the same station records what comes back from the buffet.

2 modes
out of the kitchen and back to the kitchen
1 tap
to confirm the dish if in doubt
CPU
AI with OpenVINO, no GPU needed
0
trays lost if the network goes down
  • Pass kiosk in three-quarter view: scale, column, touchscreen and overhead camera
  • Pass kiosk, front view
  • Pass kiosk in profile, with the overhead camera above the scale
  • Pass kiosk, rear view

The client

MBO is an Andalusian startup that builds products for hospitality: technology that measures what is served, what is consumed and what is thrown away at hotel buffets and restaurants.

DPI Systems is the technical team behind MBO. We handle the complete development: selecting and installing the hardware and sensors, the computer vision models, the software that runs in the hotel, the cloud platform, the fieldwork and the testing with the buffet open to the public.

Vision at the edge

The video from each camera is decoded by the Jetson's dedicated hardware using NVIDIA DeepStream, without using CPU. One frame from each camera is grouped into a single batch and passed through a YOLO11 detector compiled with TensorRT in FP16 for the unit's specific GPU: a single inference for all the cameras.

Then several processes in parallel track each tray, person or utensil between frames with ByteTrack and apply the business rules that turn what is seen into events: a tray that goes out or comes back, a customer serving themselves, a bottle being poured, a tray being replaced, a person coming in or going out.

The same node covers five use cases depending on where the camera is placed:

  • Pass: overhead camera and scale; records trays going out and coming back.
  • Consumption counter: camera above the buffet; trays on display, servings, pours and tray changes.
  • People counter: camera at the entrance; diners coming in and going out.
  • Show cooking: servings of a fixed dish at a live cooking station.
  • Waste weighing: scale only; kitchen and diner waste.

The pass, the center of measurement

All the buffet data starts at the pass. Each tray is weighed when it leaves the kitchen and when it comes back: that difference is the real consumption, what comes back is the waste and, with the recipe card, the cost. The dining room cameras add the detail of what happens in between, but the weight at the pass is the reference for everything.

That is why the pass comes in two versions. In installations with a Jetson, an overhead camera and a network scale record each tray. And for kitchens that need a dedicated station we developed the pass kiosk: a compact PC with Ubuntu, overhead camera, serial-port scale and touchscreen. The cook sets the tray down; the kiosk weighs it, photographs it, calculates its visual fingerprint and suggests the dish. If in doubt, the cook chooses between the candidates and the tray is recorded. In "back to kitchen" mode, the same station records the returns.

The kiosk's AI runs on CPU with OpenVINO, Intel's equivalent of TensorRT, and shares all the common logic with the Jetson: any improvement reaches both.

Recognizing the dish without retraining

The detector only learns what a tray is, a pair of tongs, a hand or a guest: 9 classes that do not change with the menu. To know which dish it is, Meta's DINOv3 model turns the photo of the tray into a fingerprint of 384 numbers that the backend searches for in Qdrant, with a similarity threshold configurable per hotel. If it does not recognize it, it records it as unknown to be labeled later.

When a tray comes back, the backend works out which of the trays that went out it is: it discards those that do not match by weight, compares by visual similarity and calculates consumed = served − returned. Adding a new dish means photographing it, not retraining.

Designed never to miss a service

A hotel is not a laboratory: the power goes out, the router restarts, the Internet goes down. The architecture starts from that reality:

  • Outgoing connections only: each node initiates its calls over HTTPS with its own key. The cloud never enters the hotel network.
  • Star topology, no hierarchy: the Jetson and the kiosk do not talk to each other. A node going down does not affect the others, and adding another one means registering it in the dashboard.
  • Nothing is lost offline: each event is written to disk before it is sent, with a unique key and its real time. The queue holds 20,000 events or 7 days; an outage only delays the data.
  • The cloud decides, the edge observes: the edge detects and measures; dish identification, matching and metrics are calculated in the backend, so the logic evolves without redeploying the hotels.
  • When in doubt, capture: if the shift schedule is not known, the cameras stay on; if a tray that comes back finds no match, it is saved anyway.

The platform

MBO Platform is multi-company: each hotel has its own space, with administrator, manager and user roles, and subscribes to the buffet service, the restaurant service or both. The configuration of cameras, scales, use cases and shifts lives in the cloud and is changed from the dashboard, without touching the units. It includes a live kitchen view, a dish catalog with recipe cards, analytics on consumption, cost, waste, occupancy and peak hours, and a test environment to validate every change before production.

Fieldwork and testing

A vision system only works if it has been tested on the real site. We installed cameras and scales with the hotel in operation, set up the Jetson units and gave them secure remote access so they can be maintained without traveling.

  • Real data: 5,033 labeled images from real buffets, from 23 cameras.
  • On-site recordings: we record complete services and replay them in the lab to test every change against the same breakfast, frame by frame.
  • Emulators: simulated cameras, scales and backend to test the complete system without occupying the hotel.
  • Validation with the kitchen: buffet parameters and recipe cards agreed with the hotel team, and consumption checked against the real weighings.

From MVP to product

The first version, an MVP with a buffet monitoring dashboard, was built in six weeks. Today the product measures the complete cycle of each tray with cameras and scales, runs the vision on NVIDIA Jetson units inside the hotel and is in production at a real breakfast buffet.

The next step is to take MBO Smart Buffet to more hotels with an ever faster installation: the same equipment, the same software and a dish catalog that adapts to each kitchen.

MBO Platform

What management sees

Real screenshots of the dashboard in production, with data from a breakfast service. Everything the cameras and scales measure ends up here, per dish, per shift and in euros.

  • MBO Platform dashboard: breakfast consumption analytics with kilos consumed, trays served, cost and dish ranking

    Consumption per dish

    Kilos consumed, trays served and shift cost, with the dish ranking: trays that go out and come back, consumption per diner and the cost of each one.

  • MBO Platform dashboard: ingredient analytics with total cost, cost of waste, efficiency and the most used ingredients

    Ingredients and waste

    Cross-referencing consumption with the recipe cards: ingredient cost, cost of waste, what comes back and is reused, and the efficiency of the shift.

  • MBO Platform dashboard: most expensive ingredients with a cost distribution chart and the most wasted ingredients

    Where the money goes

    The most expensive and most wasted ingredients, with their efficiency: the list of what needs reviewing on the menu.

  • MBO Platform dashboard: buffet visitor flow in 30-minute intervals with the peak hour

    Buffet foot traffic

    Diners per 30-minute slot and peak hour, counted by the entrance camera, to adjust production and refills.

  • MBO Platform dashboard: dish catalog with the photo of each tray, its category, container and tare

    Dish catalog

    Each dish with the real photo of its tray, category, container and tare: the reference the system uses to recognize what leaves the kitchen.

From the field

What the system sees

Real images from the installed cameras and the pipeline in operation.

Technology stack

The whole product, from a single team

From the on-device model to the management dashboard, developed and operated by DPI Systems.

  • EdgeNVIDIA JetsonDocker
    • NVIDIA Jetson AGX Thor
    • Jetson Orin Nano
    • DeepStream 8.0
    • TensorRT
    • CUDA
    • GStreamer
    • MediaMTX
    • Docker + NVIDIA runtime
  • Computer visionUltralytics YOLO11PyTorchMeta DINOv3OpenCV
    • YOLO11 · Ultralytics
    • ByteTrack · Supervision
    • DINOv3 · Meta
    • OpenCV
    • PyTorch
    • ONNX
    • OpenVINO
  • Data and trainingRoboflowONNX
    • Roboflow
    • MCAP · Foxglove
    • Sensor emulators
  • Sensors and kioskIntel · OpenVINO
    • RTSP / H.264 IP cameras
    • Network scales (TCP)
    • RS-232 serial scale
    • USB camera
    • Touchscreen
    • Intel PC + Ubuntu
  • BackendPythonFastAPIPostgreSQLRedis
    • Python
    • FastAPI
    • SQLAlchemy
    • PostgreSQL 16 + pgvector
    • Qdrant
    • Redis
    • MinIO
    • WebSockets
  • Frontend and infrastructureNext.jsReactTypeScriptWireGuard
    • Next.js 16
    • React 19
    • TypeScript
    • Ant Design 6
    • Recharts
    • Dokploy
    • NetBird · WireGuard
    • pgBackRest

More case studies

See all case studies
Let's talk

Do you have a product that needs to see the physical world?

We design and build complete computer vision and IoT solutions: hardware, models, software and field deployment.