⟶ Line flow · tiles counted per zone (live)
▤ Tiles counted per minute · by zone
stacked · faded bar = minute in progress≋ Live throughput · by zone
tiles / min · rolling 60 s◎ Grade mix · live
sorting line⚠ Defects detected · live
ALL CLEAR✉ Administrator notification
♪ Alert tones
each alert type has its own sound▣ Evidence gallery · AI-captured defect frames
click to enlarge★ Sorting & grading line · CAM-06
every tile graded on the fly◎ Grade distribution · live
—ⓘ Grading criteria
▦ Recently graded tiles
live from sorting line▤ Production curve · cumulative tiles counted by zone
✔ AI count vs verified count · per pass
▦ Session summary by zone
real detections since start▥ Minute log
date · time · count per zoneEvery tile, seen, counted and checked — automatically.
TileVision turns the CCTV cameras already on the production line into an always-on inspector. It counts every tile at each stage, flags broken or overlapping tiles the moment they appear, grades finished tiles, and shows everything live on one screen.
The problem it solves
Tiles are lost between the press and the packing line — broken in the kiln, damaged on transfers, or miscounted by hand. Today these gaps are found hours later, if at all.
TileVision counts at every stage, so the plant knows how many tiles went in, how many came out, and where the difference happened — while the shift is still running.
What changes on the floor
- No manual counting — counts per zone, per minute, per shift appear automatically.
- Instant alarms — a broken tile sounds an urgent siren; an overlap sounds a warning chime, each with a photo of the tile.
- Consistent grading — every finished tile scored on edges, surface and shade.
What management gets
- Live yield and throughput for the whole line on one screen, on desktop or phone.
- Evidence photos and a time-stamped log of every defect for root-cause reviews.
- CSV exports for daily production meetings and ERP reporting.
A walk through the screens
Six cameras play side by side. Each tile gets a box and an ID; when it crosses the count line it flashes green and the zone counter goes up by one. Click any camera to open it full size.
Inspection cameras outline broken pieces in red (with the crack traced) and stacked tiles in amber. Every alert arrives with a pop-up, its own sound and an evidence photo.
Finished tiles on the sorting line are graded A / B / C / Reject automatically, with a thumbnail of each tile.
A live production curve, minute-by-minute counts, the AI-versus-manual accuracy check, and a full alert log with acknowledge buttons and exports.
A second, independent TileVision view: pick any camera and its footage starts immediately with live detection, grading and a detection log.
Aapka Smart Factory Saathi — ask in plain language (“How many broken tiles today?”) and get answers with numbers, times and charts from the live data, plus suggested next questions.
Can we trust the numbers?
Every count on screen comes from a real detection — nothing is simulated. For each camera recording, the AI's count was compared with a person counting the same footage frame by frame:
These are the demo recordings supplied by Kajaria. In the pilot, the same check is repeated on live cameras before counts are used for reporting.
From demo to plant roll-out
- Pilot on one line — connect the live camera feeds, calibrate each counting zone, and run alongside today's manual count.
- Prove accuracy — compare AI and manual counts for several shifts; tune where needed.
- Switch on alerts — route breakage and overlap alarms to supervisors (screen, e-mail, Teams).
- Scale — add more lines and connect counts to ERP / production reporting.
Runs on a server inside the plant network — video does not need to leave the site.
Architecture
How a tile is counted
- Calibrate the belt — each camera has a 4-point conveyor region; a homography warps it into straight belt coordinates (along / across the belt).
- Segment tiles — per lane, tile pixels are separated from rollers and belt by brightness or background difference; touching tiles are split at their seams with a black-hat line filter.
- Track — each tile segment is matched frame-to-frame with motion prediction, so it keeps one ID.
- Count once — a tile is counted only when its edge crosses the count line; a tile can never be counted twice.
- Special case — kiln compensator exit — tiles move as tightly packed batches with 1-pixel seams; rows are measured at native 2560×1440 while the batch rests, then tracked as one rigid body.
How defects are found
- Tile bodies — bright, smooth glaze regions are extracted as contours.
- Broken — dark, thin, irregular crack lines inside a tile, or deep concave notches in its outline, or pieces meeting along a curved fracture.
- Overlap — two tile bodies sharing a long, perfectly straight edge (one riding on the other).
- Confirmation — a defect must persist for ≥ 5 frames; fragments of the same break are merged into one incident, so one broken tile = one alert.
- Alerting — pop-up + distinct tone (siren = broken, chime = overlap), evidence crop, admin notification, re-alert cooldown per camera.
Grading model
Each finished tile is rectified and scored 0–100: edge & corner chips (border integrity), compact surface spots (marble veins are ignored), and shade ΔE (CIELAB) against the running batch median. A ≥ 90 · B ≥ 80 · C ≥ 70 · else Reject.
Security & data
Login with HMAC-signed, http-only session cookies; every API, video and the WebSocket require a session. Runs fully on-premise in one Docker container. The only optional outside call is Kajaria Mitra: when an OpenAI key is configured, the question and a text summary of live counts are sent to OpenAI — never video or images; without a key Mitra answers on-premise. Credentials, SMTP, webhooks and the key are set in .env.
Deployment
docker compose up -d --build on any Linux server (or a laptop with Docker Desktop). Put it behind nginx for HTTPS (config included). Moving to live cameras means pointing the engine at RTSP URLs and running the same pipeline per frame — a GPU is recommended for many streams.
How this demo runs
The nine Kajaria recordings were processed by the vision engine once; every detection (box, ID, crossing time, defect, grade) is stored. The live service replays each recording on a shared server clock and fires each event at the exact frame it happened — so every screen, on every device, shows the same counts at the same time.
Counts start at zero on login or reset and only grow when a detection event fires. Accuracy is shown as AI count versus a manual frame-by-frame count of the same footage (config/ground_truth.json). Clips from different zones were filmed at different times, so zone totals are shown side by side, not reconciled.
×
TileVision AI — computer-vision tile intelligence