Signals on a BIM model

DigitalHub, a two-floor coworking building, from a public IFC 4 architectural model. Every area, wall and door below was read from the file. Only the camera is a model.

Open floor measured
1,358 m²
2 floors, 11 open spaces
Cameras in the plan
26
8 on the ground floor, 8 on the first floor
Private rooms
21
21 door-line counters, no camera inside
Set-up walk on site
0
camera-to-floor mapping comes from the model

From the model to the measured floor

1
Model

BIMstream delivers the building as an IFC: every wall, door, room name and area, in real dimensions.

2
Plan

Signals computes the camera plan from the model: where each camera goes, what it sees, what is behind a wall, and how many pixels land on each square meter of floor. Rooms are classed before anyone visits: measured, counted at the door, or out.

3
Train

The same model and camera plan render labeled footage of this building from the planned camera positions, so the detector and counter are tuned to this site's rooms, angles and light before a camera is mounted.

4
Install

Existing cameras go in first, the plan fills the gaps. Each camera's picture is mapped to floor coordinates from the model, not from a calibration walk.

5
Run

Every count Signals reports lands in a named room with an exact area: people per square meter, queue length at a counter, minutes a booked room sits empty. Accuracy is measured per room against the precision floor set in the plan.

Where the precision comes from

Three things are known before install that are normally discovered after it. Pixel density: the plan states, for every square meter, whether a camera can count people there or only tell that someone is present, so the customer is promised counts only where the geometry supports them. Occlusion: walls and columns are in the model, so a blind spot is a computed fact, not a surprise on day one. Ground truth: the floor plane and room boundaries come from the model, so a count is attributed to a room by geometry rather than by a hand-drawn zone, and a detection that lands inside a wall is caught as an error rather than counted.

What the model gives the training run

A building model with a camera plan is a complete description of a scene: camera position, lens and mount height, the floor plane, every occluder, and a name for every room. That is what a renderer needs to produce footage of this building with people in it, and because the people are placed by the renderer, every frame comes with exact boxes, floor positions and per-room counts at no labeling cost. The detector and tracker are fine-tuned on that footage for this site, then checked against real footage once cameras are up. The working plan is to render from the planned camera positions first, install, then keep the real footage and its corrected counts as the site's own training set.

Across sites the same thing compounds. Every BIM model that goes through this process adds a building type, a camera geometry and a labeled set to the corpus, and the retraining pipeline runs the same way on all of it. That corpus and the pipeline are the durable asset; the base models underneath are swappable. This run is not done yet: the renders and the fine-tuning are the next step, and the numbers on this page are geometry only.

The camera plan, floor by floor

Measured floor area
758 m²
5 open spaces
Cameras for 90% at count quality
8
14 in the full plan, 99%
Corridor-only layout sees
45%
4 cameras, entrance and corridor
Private rooms, counted at the door
7
no camera inside any of them
Signals plan
Signals plan. Green: count quality (63 px/m and up). Amber: presence only (25 to 63 px/m). Red: not seen. Navy dots are cameras with their field of view; amber squares are door-line counters on private rooms. Black lines are walls and columns sectioned at 1.5 m from the IFC.

Coverage by space

SpaceCount qualityPresence
Open workspace113100%100%
VR/AR lab74100%100%
Event room76100%100%
Cafeteria11499%99%
Entrance and corridor38499%99%

Cameras added one at a time

CamerasCount qualityPresence
134%35%
249%51%
362%64%
473%74%
582%83%
686%89%
789%92%
892%93%
994%96%
1095%97%
1197%97%
1298%98%
1398%99%
1499%99%

Camera list

IdLensHeading
C01std (85° lens)37°
C02std (85° lens)165°
C03std (85° lens)15°
C04wide (105° lens)52°
C05wide (105° lens)122°
C06std (85° lens)-41°
C07std (85° lens)146°
C08std (85° lens)-139°
C09std (85° lens)175°
C10std (85° lens)135°
C11std (85° lens)35°
C12std (85° lens)-15°
C13wide (105° lens)-122°
C14std (85° lens)169°

Door-line counters

IdRoom
D01Group office 1
D02Group office 2
D03Group office 3
D04Group office 4
D05Group office 6
D06Group office 5
D07Kitchen
Measured floor area
600 m²
6 open spaces
Cameras for 90% at count quality
8
12 in the full plan, 98%
Corridor-only layout sees
47%
4 cameras, entrance and corridor
Private rooms, counted at the door
14
no camera inside any of them
Signals plan
Signals plan. Green: count quality (63 px/m and up). Amber: presence only (25 to 63 px/m). Red: not seen. Navy dots are cameras with their field of view; amber squares are door-line counters on private rooms. Black lines are walls and columns sectioned at 1.5 m from the IFC.

Coverage by space

SpaceCount qualityPresence
Seminar room3898%98%
Large seminar room (divisible)7699%99%
Open workspace 2113100%100%
Open lounge 138100%100%
Open lounge 23993%94%
Corridor28798%98%

Cameras added one at a time

CamerasCount qualityPresence
133%38%
248%55%
362%69%
471%74%
577%80%
682%85%
786%89%
890%93%
993%94%
1095%97%
1197%98%
1298%98%

Camera list

IdLensHeading
C01std (85° lens)-21°
C02std (85° lens)195°
C03std (85° lens)-188°
C04wide (105° lens)40°
C05wide (105° lens)141°
C06wide (105° lens)-39°
C07std (85° lens)
C08wide (105° lens)39°
C09wide (105° lens)-141°
C10wide (105° lens)-135°
C11wide (105° lens)141°
C12wide (105° lens)-141°

Door-line counters

IdRoom
D01Conference room 2
D02Group office 15
D03Group office 16
D04Group office 14
D05Group office 12
D06Group office 13
D07Group office 10
D08Group office 11
D09Conference room 1
D10Group office 9
D11Group office 7
D12Conference room 4
D13Group office 8
D14Conference room 3

How the camera is modeled

One camera type throughout: a 4 MP sensor, 2688 pixels wide, mounted at 2.8 m, with either a 105° or an 85° lens chosen per position. Pixel density on the floor falls with distance; the two thresholds are the IEC 62676-4 tiers for detection (25 px/m, presence) and observation (63 px/m, enough to count people and read posture). Identification tiers are not used anywhere in the plan. A 105° lens holds count quality to 16.4 m and presence to 41.3 m; the 85° lens holds count quality to 23.3 m.

Walls, columns and curtain wall panels are sectioned at 1.5 m above each floor and block the line of sight. Placement runs a greedy search over the corners of every open space, adding the camera that gains the most count-quality floor each round, and stops when a camera would add less than 6 m². The corridor-only layout is the same search restricted to the entrance and corridor, four cameras, which is where a conventional security install puts them.

What this building would report

Open workspace and lounges: people present and desks in use by the hour, dwell, and the difference between booked and used. Cafeteria: queue length at the counter and time to serve. Event and seminar rooms: fill against capacity and the minutes a booked room sits empty. Entrance and corridor: arrivals by hour and flow between wings. Group offices and conference rooms: occupied or not, and how many, from a counter on the door line, with no camera inside. Toilets, stairs, shafts and plant rooms are out of scope by policy.

Caveats. The IFC records every interior partition as a wall; glass partitions would not block a camera the way the model assumes, so real coverage in glazed offices is higher than shown. Furniture, monitors and people are not in the model and will occlude at floor level; count quality assumes the camera sees heads and shoulders at 2.8 m. Camera counts here are an upper bound for the layout, not a bill of materials. The site's own cameras were not modeled because the file has none; on a BIMstream job the existing cameras would be placed first and only the gaps filled.

Where this goes with BIMstream

BIMstream delivers the model and the install. Signals turns the model into a camera plan, a coverage map, a room-by-room list of what will be measured and a training set for the site, all before anyone visits. The customer sees which rooms get counts, which get presence, and which are left out on purpose, with the pixel density behind every promise. After install the same model is the coordinate frame for every number Signals reports. Sold together: model, plan, train, install, measured floor.

Source model: DigitalHub_FM-ARC_v2.ifc, IFC4, Revit export dated 27 Oct 2023, public sample. Computed 15 Sep 2026 with ifcopenshell 0.8.5. Confidential. Internal to YYZdata Inc. Not for distribution, in whole or in part, without written consent.