Signals on a BIM model

A three-floor technical college building from the Autodesk Revit advanced architectural sample (IFC 2x3): classrooms, computer labs, library, cafeteria and lobby. Every area, wall and door below was read from the file. Only the camera is a model.

Open floor measured
2,457 m²
3 floors, 20 open spaces
Cameras in the plan
42
16 on the entry level, 16 on the floor 2, 10 on the floor 3
Private rooms
48
48 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
864 m²
7 open spaces
Count quality with the plan
88%
16 cameras; 90% needs more, or the room list narrowed
Corridor-only layout sees
33%
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
Corridor13892%96%
Lobby32797%99%
Lounge3893%94%
Lounge4198%98%
Cafeteria14794%94%
Corridor5595%97%
Circulation64286%89%

Cameras added one at a time

CamerasCount qualityPresence
119%31%
234%40%
346%49%
453%63%
558%69%
665%70%
769%75%
873%78%
977%81%
1079%84%
1181%85%
1283%87%
1384%88%
1486%89%
1587%90%
1688%91%

Camera list

IdLensHeading
C01std (85° lens)48°
C02std (85° lens)131°
C03std (85° lens)-25°
C04std (85° lens)147°
C05std (85° lens)-149°
C06std (85° lens)41°
C07std (85° lens)-50°
C08wide (105° lens)53°
C09std (85° lens)-156°
C10wide (105° lens)40°
C11wide (105° lens)-137°
C12wide (105° lens)54°
C13wide (105° lens)60°
C14wide (105° lens)142°
C15wide (105° lens)205°
C16wide (105° lens)-147°

Door-line counters

IdRoom
D01Conference
D02Classroom
D03Classroom
D04Classroom
D05Classroom
D06Conference
D07Classroom
D08Classroom
D09Conference
D10Admin
D11Office
D12Administration
D13Classroom
D14Classroom
Measured floor area
958 m²
9 open spaces
Count quality with the plan
88%
16 cameras; 90% needs more, or the room list narrowed
Corridor-only layout sees
36%
4 cameras, entrance and corridor
Private rooms, counted at the door
18
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
Lounge3287%87%
Lounge3893%96%
Library12294%97%
Lobby28595%99%
Cafeteria3591%97%
Lounge13397%97%
Corridor13890%95%
Corridor11679%83%
Circulation58687%93%

Cameras added one at a time

CamerasCount qualityPresence
116%23%
227%34%
338%45%
448%53%
554%66%
662%75%
768%76%
872%79%
975%82%
1078%85%
1181%88%
1282%90%
1384%91%
1486%92%
1587%92%
1688%92%

Camera list

IdLensHeading
C01std (85° lens)46°
C02wide (105° lens)32°
C03wide (105° lens)53°
C04wide (105° lens)-45°
C05std (85° lens)33°
C06std (85° lens)-28°
C07std (85° lens)147°
C08wide (105° lens)53°
C09wide (105° lens)-51°
C10wide (105° lens)115°
C11wide (105° lens)143°
C12wide (105° lens)-117°
C13wide (105° lens)90°
C14std (85° lens)-113°
C15wide (105° lens)145°
C16wide (105° lens)129°

Door-line counters

IdRoom
D01Classroom
D02Computer Lab
D03Classroom
D04Copy/Print
D05Classroom
D06Drafting
D07Computer Lab
D08Classroom
D09Classroom
D10Computer Lab
D11Copy/Print
D12Office
D13Office
D14Administration
D15Administration
D16Classroom
D17Classroom
D18Classroom
Measured floor area
635 m²
4 open spaces
Count quality with the plan
86%
10 cameras; 90% needs more, or the room list narrowed
Corridor-only layout sees
54%
4 cameras, entrance and corridor
Private rooms, counted at the door
16
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
Lounge3893%93%
Lobby32397%99%
Corridor5595%100%
Circulation59985%90%

Cameras added one at a time

CamerasCount qualityPresence
129%45%
250%69%
359%74%
465%81%
571%85%
676%87%
779%87%
882%90%
985%90%
1086%91%

Camera list

IdLensHeading
C01std (85° lens)-47°
C02wide (105° lens)50°
C03std (85° lens)159°
C04wide (105° lens)142°
C05wide (105° lens)53°
C06std (85° lens)36°
C07wide (105° lens)133°
C08wide (105° lens)-114°
C09std (85° lens)130°
C10wide (105° lens)-47°

Door-line counters

IdRoom
D01Classroom
D02Classroom
D03Classroom
D04Classroom
D05Classroom
D06Classroom
D07Classroom
D08Classroom
D09Media Review
D10Media Review
D11Administration
D12Advisors
D13Open Office
D14Conference
D15Classroom
D16Classroom

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

Lobby, corridors and circulation: arrivals by hour, flow between wings, after-hours presence. Cafeteria: queue at the counter and seats in use. Library and lounges: seats in use by hour and dwell. Classrooms, computer labs, offices and conference rooms: occupied or not and how many, from a counter on the door line, with no camera inside a teaching or office space. Toilets, stairs, storage 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: rac_advanced_sample_project.ifc, IFC 2x3, Autodesk Revit architectural sample, public. 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.