1. Scope
1.1 Subject
This Specification defines the Visual Quality Score (VQS), an objective, versioned standard for measuring the technical and veridical quality of real-estate still imagery. VQS defines a parameter set, measurement conventions, a scoring model, aggregation rules, set-level consistency statistics, result record requirements, and the conformance and certification framework operated by Standard Vision Lab (SVL).
1.2 What VQS measures
VQS measures properties of an image, and of a set of images, that can be computed from the image data itself and evaluated against published thresholds. These properties fall into six categories: Exposure, White balance, Colour, Geometry, Artifacts, and Semantic. Together they assess two things:
a) technical quality: whether the image is well formed as a photographic reproduction (exposure, tonal range, white balance, colour rendition, geometric correctness, absence of processing artifacts); and
b) veridical quality: whether the image is a plausible and internally consistent depiction of a real scene (semantic plausibility of depicted objects, staging, scale, and materials).
VQS scores are produced per image and per set. Set-level assessment measures consistency of photographic statistics across the images of a listing, globally, per room class, and per sub-set.
1.3 Production method neutrality
VQS applies to any real-estate still image regardless of how it was produced. Photographed, human-edited, AI-processed, and AI-generated images are assessed by the same parameters against the same thresholds. A conforming runner MUST NOT require, request, or use any declaration of production method as an input to scoring. Nothing in this Specification is a statement about the acceptability of any production method; VQS measures the output image only.
1.4 Out of scope
The following are explicitly out of scope for this version:
a) aesthetic preference: composition, styling taste, artistic merit, and any judgement for which no objective threshold can be published;
b) video and moving imagery, including walkthroughs and drone footage;
c) floor plans, site plans, renders presented as plans, and other diagrammatic assets;
d) textual accuracy of the listing (descriptions, captions, advertised facts), except where an image parameter explicitly addresses depicted content plausibility;
e) legal or regulatory compliance of advertising material in any jurisdiction.
1.5 Application of this document
The Specification is open: it is free to read. The certification mark is controlled: only SVL issues VQS certification, and only scores produced by the SVL canonical runner are valid for certification. Conformance classes are defined in clause 2; certification requirements are defined in clause 16.
2. Conformance
2.1 General
The key words MUST, MUST NOT, SHOULD, SHOULD NOT, and MAY in this Specification are to be interpreted as described in RFC 2119 and RFC 8174 when, and only when, they appear in capitals.
This Specification defines five conformance classes: conforming runner, conforming result record, conforming image, conforming set, and certified pipeline. Every conformance claim MUST identify the class claimed and the exact version of this Specification (clause 5) against which it is claimed. A claim that names VQS without a version identifier is not a conformance claim.
Conformance requirements are implementation-neutral. This Specification does not mandate any particular segmentation method, machine-learning model, or software architecture; any implementation that satisfies the requirements of its claimed class, including the agreement tolerance in 2.2, conforms.
2.2 Conforming runner
A conforming runner is a software implementation that scores images against a stated version of this Specification. A conforming runner MUST:
a) implement every parameter defined in the cited version, including the determination of N/A status for parameters that do not apply to a given image;
b) apply the measurement conventions of this Specification (colour management, working representations, resampling, region segmentation and normalised coordinates) exactly as published;
c) apply the published breakpoint mappings for continuous metrics and the discrete rubric for count-based checks without modification;
d) compute category scores, the composite score, and set consistency statistics according to the aggregation rules of this Specification, including exclusion and weight renormalisation for N/A parameters;
e) emit a conforming result record (2.3) for every scoring run;
f) when scoring the SVL conformance test corpus, agree with the canonical runner within the agreement tolerances published by Standard Vision Lab with the canonical runner;
g) report its own name and version string in every result record it emits.
A runner MUST NOT emit a certification record; certification records are issued only by SVL (2.6).
2.3 Conforming result record
A conforming result record is the machine-readable output of a scoring run. A conforming result record MUST:
a) be a valid JSON text as defined in RFC 8259;
b) cite the version of this Specification under which the run was scored, using the version identifier format of clause 5;
c) identify the emitting runner (name and version) and the date and time of the run;
d) identify the scored image or set unambiguously, and include a SHA-256 digest of each scored image file;
e) contain, for every parameter in the cited version, the parameter ID and either an integer parameter score in the range 0 to 100 with its status (PASS, FLAG, or FAIL) or the value N/A;
f) contain every category score, the composite score, and their statuses;
g) record every parameter FAIL explicitly; a parameter FAIL MUST NOT be omitted, suppressed, or overwritten in aggregation, regardless of the composite score;
h) where a set was scored, contain the set consistency statistics computed per grouping (the standard groupings and any declared sub-sets, as defined in 13.3), each with its status;
i) conform to the field-level result record schema defined in clause 15.
2.4 Conforming image
A conforming image is an image whose composite score, as computed by a conforming runner under a cited version of this Specification, is 90 or above (the PASS band applied to the composite). The result record substantiating the claim MUST be a conforming result record. Any parameter FAIL present in that record remains recorded and reportable.
2.5 Conforming set
A conforming set is a set for which all of the following hold:
a) every constituent image is a conforming image (2.4);
b) no set consistency statistic applicable to the set has status FAIL;
c) a conforming result record exists covering the set, citing a single version of this Specification for all constituent images.
2.6 Certified pipeline
A certified pipeline is a production workflow (capture, editing, processing, or generation, in any combination) whose output has been certified by SVL. A certified pipeline MUST:
a) have its output scored exclusively by the SVL canonical runner for all certification purposes; scores from any other runner, conforming or otherwise, are not valid for certification;
b) hold a current certification record issued by SVL, resolvable at the SVL certification URL for its certification ID;
c) comply with the badge usage requirements of this Specification, including live score embedding, caching limits, minimum badge size, prohibition on badge modification, and removal obligations on loss of certification;
d) remain subject to ongoing verification by SVL.
Certification tiers, badge mechanics, and revocation are defined in clause 16.
3. Normative references
The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this Specification. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document applies.
| Reference | Title |
|---|---|
| IEC 61966-2-1 | Multimedia systems and equipment. Colour measurement and management. Part 2-1: Colour management. Default RGB colour space. sRGB |
| CIE 015 | Colorimetry |
| Recommendation ITU-R BT.709 | Parameter values for the HDTV standards for production and international programme exchange |
| ISO 8601 | Date and time. Representations for information interchange |
| ISO/IEC 10918-1 | Information technology. Digital compression and coding of continuous-tone still images. Requirements and guidelines (JPEG) |
| ISO/IEC 15948 | Information technology. Computer graphics and image processing. Portable Network Graphics (PNG). Functional specification |
| ISO/IEC 23008-12 | Information technology. High efficiency coding and media delivery in heterogeneous environments. Part 12: Image File Format (HEIF/HEIC) |
| TIFF 6.0 | TIFF Revision 6.0, Adobe Systems Incorporated |
| IETF RFC 2119 | Key words for use in RFCs to Indicate Requirement Levels |
| IETF RFC 8174 | Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words |
| IETF RFC 8259 | The JavaScript Object Notation (JSON) Data Interchange Format |
4. Terms and definitions
For the purposes of this Specification, the following terms and definitions apply.
4.1 image
single real-estate still image submitted for scoring, in any raster format the runner accepts, decoded according to the measurement conventions of this Specification
4.2 set
group of images assessed together as one unit; in certification contexts, the images marketing a single listing (4.19) constitute one set
4.3 grouping
collection of images within a set over which set consistency statistics are computed; the standard groupings (Global, All Interiors, All Exteriors, per room class, and the twilight sub-set) are defined in 13.3, and a declared sub-set is a submitter-declared grouping that is reported but excluded from the SET score
4.4 room class
label assigned to an image under 6.5 identifying the class of space depicted (for example kitchen, bathroom, bedroom, living area, exterior), drawn from the normative room-class taxonomy of Annex B and used for per-room-class set statistics
4.5 region
contiguous area of an image, expressed in normalised coordinates in the range 0 to 1, assigned by segmentation to one of the region classes enumerated in this Specification (for example Windows, Sky, Ceiling, WB Anchor)
4.6 WB anchor
region selected as the reference for white balance measurement: the largest high-confidence near-neutral matte surface in the image, with the ceiling preferred in interior images
4.7 runner
software implementation that scores images and sets against a stated version of this Specification and emits result records
4.8 canonical runner
runner operated by SVL whose output is the sole valid basis for certification and the reference against which runner agreement (2.2 f) is assessed
4.9 parameter
individually identified check within a category, having a fixed parameter ID, a defined metric or discrete rubric, and a defined mapping to a parameter score
4.10 metric
measurable quantity computed from image or set data as input to a parameter (for example mean luma, CIELAB a* deviation, standard deviation across a set)
4.11 breakpoint mapping
piecewise-linear function converting a continuous metric value to a parameter score, defined by published monotone breakpoints m100, m90, m70 and m0, with linear interpolation between breakpoints, clipping to the range 0 to 100, and rounding half up; for symmetric metrics the mapping applies to the absolute deviation from the published ideal
4.12 parameter score
integer in the range 0 to 100 produced for one parameter on one image (or one set, for set-level parameters)
4.13 category score
weighted mean of the applicable parameter scores within one category, with N/A parameters excluded and the remaining weights renormalised
4.14 composite score
weighted mean of the category scores, expressed out of 100 and rounded half up to the nearest integer
4.15 status
classification of a score: PASS for scores 90 to 100, FLAG for scores 70 to 89, FAIL for scores 69 or below
4.16 N/A
recorded outcome for a parameter that does not apply to the image under assessment (for example a window parameter on an image containing no windows), excluded from aggregation with renormalisation of the remaining weights
4.17 result record
machine-readable record of one scoring run satisfying 2.3, containing the cited version, all parameter outcomes, category and composite scores, statuses, and, where applicable, set statistics
4.18 certification record
record issued and maintained by SVL attesting the certification status, tier, and current score of a certified subject, resolvable at the SVL certification URL for its certification ID
4.19 listing
single real-estate property advertised for sale or lease; the images marketing one listing form one set
4.20 focal
property of a defect region: a defect region is focal when its bounding region intersects the central region [0.25, 0.75] in both normalised axes, or its area exceeds 2% of the frame area
5. Versioning and applicability
5.1 Version identifier
Versions of this Specification are identified as "VQS vMAJOR.MINOR", where MAJOR and MINOR are non-negative integers, for example "VQS v1.0". The name of the standard is VQS. The number of parameters in the parameter set MUST NOT appear in the name of the standard or in the version identifier; the parameter set is a versioned property of the Specification, not part of its identity.
5.2 Change classes
Changes to this Specification are classified as follows:
a) MAJOR increment: any change to the parameter set (adding, removing, splitting, merging, or redefining a parameter), any change to the category structure, or any change to the aggregation model;
b) MINOR increment: recalibration of thresholds (breakpoint values, category weights, set consistency thresholds, agreement tolerances) without change to the parameter set;
c) editorial corrections that cannot change any score MAY be published as errata to the current version without a version increment.
5.3 Citation of version
Every result record, every published score, every badge, and every certification record MUST cite the exact version identifier under which the score was computed. A runner MUST score a given run against exactly one version.
5.4 Validity of prior scores
A score is valid against the version cited in its result record. Publication of a subsequent version does not invalidate, alter, or require recomputation of scores produced under an earlier version. Scores computed under different versions SHOULD NOT be directly compared, and MUST NOT be presented as equivalent across different MAJOR versions. SVL MAY publish a mapping between versions; in the absence of a published mapping, no equivalence exists.
6. Measurement framework
This clause defines the input requirements, working representations, segmentation and classification rules, numeric conventions, and reproducibility requirements that every conforming runner MUST implement. The framework is implementation-neutral: it specifies what is measured and how results are expressed, not the algorithms used to obtain them. Any runner that satisfies the agreement tolerance in 6.7 conforms, regardless of internal method.
6.1 Input requirements
6.1.1 Accepted formats
A conforming runner MUST accept still images in the following container formats: JPEG (ISO/IEC 10918-1), PNG (ISO/IEC 15948), TIFF (TIFF 6.0), and HEIC (ISO/IEC 23008-12). A runner MAY accept additional formats, but VQS results are defined only for the formats listed here.
For multi-image containers, the runner MUST score only the primary image (the primary item in HEIC; the first page or first frame in multi-page or multi-frame TIFF and PNG). Auxiliary items, including thumbnails, previews, and depth maps, MUST be ignored.
6.1.2 Minimum resolution
After the orientation step of 6.1.4, the longest edge of the input image MUST be at least the minimum resolution published by Standard Vision Lab with the canonical runner. An image below this minimum MUST be rejected: the runner MUST record the rejection and its reason, and the image receives no VQS result.
6.1.3 Bit depth and channels
Images with 8 or 16 bits per channel MUST be accepted. Any alpha channel MUST be discarded before measurement. Images encoded as single-channel greyscale MUST be expanded to three identical RGB channels before conversion to the working representations.
6.1.4 Colour management and orientation
The following rules apply, in order:
- An embedded ICC profile MUST be honoured. An image without an embedded profile MUST be assumed to be sRGB (IEC 61966-2-1).
- A conforming runner MUST support, at minimum, the sRGB, Display P3, Adobe RGB (1998), and ProPhoto RGB profiles. An image whose embedded profile the runner cannot apply MUST be rejected with a recorded reason; the runner MUST NOT silently substitute another profile.
- Images in colour models other than RGB or YCbCr (for example CMYK TIFF) MUST be accepted only when the embedded profile permits unambiguous conversion to the working colour space; otherwise the image MUST be rejected.
- Conversion from the embedded profile to the working colour space MUST use the relative colorimetric rendering intent with black point compensation disabled.
- Any EXIF orientation tag MUST be applied before measurement, and all subsequent processing operates on the oriented image.
6.1.5 Integrity
A truncated, corrupt, or otherwise undecodable file MUST be rejected with a recorded reason. Rejection under this subclause is a processing outcome, not an N/A determination (see 6.8).
6.2 Working representations
6.2.1 Pipeline
Every measurement defined in this Specification is made on the working representations produced by the following pipeline, executed in order:
- Decode the image and apply colour management per 6.1.4; the working colour space is sRGB (IEC 61966-2-1).
- Apply EXIF orientation.
- Resample the image so that its longest edge is exactly 1600 px, preserving aspect ratio, using the resampling kernel and channel encoding published by Standard Vision Lab with the canonical runner. Inputs whose longest edge is below 1600 px are upsampled; inputs above 1600 px are downsampled. The shorter edge is rounded half up to the nearest integer pixel.
- Derive the working representations of 6.2.2, 6.2.3, and 6.2.5 from the resampled image.
6.2.2 Luma representation
Luma Y is computed per pixel from the gamma-encoded sRGB channel values using the Rec. 709 weights:
Y = 0.2126 R' + 0.7152 G' + 0.0722 B'
quantised to an 8-bit integer in [0, 255]. All luminance-domain statistics (mean luma, luma standard deviation, clipping counts) are computed from this representation, with the statistics themselves carried at full precision per 6.6.
6.2.3 CIELAB representation
For chromatic measurements, the resampled sRGB values are linearised per IEC 61966-2-1, converted to CIE XYZ using the sRGB primaries and D65 white point, and converted to CIELAB with D65 as the reference white. Throughout this Specification, and in all runner evidence and dashboards, "a" and "b" denote the CIELAB a* and b* axes, and chroma Cab denotes sqrt(a^2 + b*^2).
NOTE. The SVL canonical runner reports CIELAB L in evidence and dashboards on a 0 to 255 reporting scale (L* multiplied by 255/100) CALIBRATED: SVL production QA, June 2026. This is a reporting convention only: the CIELAB definitions of this subclause are unchanged, and a* and b* are reported in standard CIELAB units.
6.2.4 Normalised coordinates
All region geometry and all positional evidence use normalised coordinates: x and y in [0, 1], origin at the top-left corner of the resampled image, x increasing rightward and y increasing downward, normalised by the resampled width and height respectively. Normalised coordinates SHOULD be reported to 4 decimal places.
6.2.5 HSV saturation representation
For saturation measurements, the resampled gamma-encoded sRGB values are converted per pixel to the HSV colour model, and the S channel is quantised to an 8-bit integer in [0, 255]. All saturation statistics in this Specification, including the COL saturation parameters and per-region saturation evidence, are computed from this HSV S representation on the 0 to 255 scale CALIBRATED: SVL production QA, June 2026. Chroma C*ab (6.2.3) MUST NOT be used for saturation scoring.
6.3 Region segmentation
6.3.1 Region classes
A conforming runner MUST segment the working image into instances of the following region classes:
| Class | Description |
|---|---|
| Windows | Window openings including frames and glazing, as seen from the capture position |
| Window WB | The through-glazing view (the exterior scene visible through glazing), excluding frames and mullions; a subset of Windows |
| Sky | Sky visible directly (not through glazing) |
| Ceiling | Interior ceiling surfaces |
| WB Anchor | The surface selected per 6.4 (a derived region) |
| Grass | Lawn and turf areas |
| Greens | Foliage, shrubs, trees, and indoor plants |
| Wood | Exposed timber surfaces (floors, decks, joinery, furniture) |
| Reflective | Specular surfaces including mirrors, glass, gloss tiles, polished stone, and display screens |
| Objects | Discrete furnishing and staging objects evaluated by semantic parameters |
| Verticals | Line segments corresponding to architectural verticals (wall corners, door and window jambs) |
| Horizontals | Line segments corresponding to architectural horizontals (benchtops, skirtings, rooflines, the horizon) |
6.3.2 Implementation neutrality
This Specification does not mandate any segmentation algorithm, architecture, or model. A runner MAY use any method, provided its outputs satisfy the agreement tolerance in 6.7. Conformance is assessed on results, not on method.
6.3.3 Inclusion rules
A segmented region instance MUST be included in measurement only when both of the following hold:
- its confidence, a runner-reported value in [0, 1], is at least the minimum confidence published by Standard Vision Lab with the canonical runner;
- its area is at least the minimum region area published by Standard Vision Lab with the canonical runner; for the line classes Verticals and Horizontals, a minimum normalised length, published in the same manner, applies instead of an area minimum.
Region instances below either threshold MUST be excluded from measurement and treated as absent. When a parameter's required region class has no included instance, the parameter is N/A per 6.8.
6.3.4 Evidence
A runner MUST be able to emit, for audit, a region overlay identifying each included region instance with its class, confidence, and geometry in normalised coordinates.
6.4 WB anchor selection
6.4.1 Definition
The WB anchor is the single region used as the neutral reference for white balance measurement. It MUST be the largest qualifying region of a matte surface whose intrinsic reflectance is estimated to be near neutral (achromatic), subject to the preference rule in 6.4.3.
6.4.2 Qualification
A candidate anchor region MUST satisfy all of the following:
- the inclusion rules of 6.3.3;
- a matte (non-specular) surface; regions of the Reflective class MUST NOT be anchors;
- not clipped: the region's mean luma MUST fall within the anchor luma limits published by Standard Vision Lab with the canonical runner, since colour information in clipped or crushed regions is unreliable.
6.4.3 Selection
In interior images, a qualifying Ceiling region MUST be selected in preference to any other candidate, even when a larger candidate exists; otherwise the largest qualifying candidate (typically a painted wall, door face, or trim) MUST be selected. In exterior images, candidates are typically matte painted or rendered building surfaces or concrete; the largest qualifying candidate MUST be selected.
6.4.4 Recording
The runner MUST record the selected anchor's surface class and confidence in its evidence, in the form "WB Anchor: ceiling (99%)", together with the region geometry in normalised coordinates. When no qualifying anchor exists, WBL-01 and every measurement defined relative to the anchor is N/A per 6.8, and the absence MUST be recorded.
6.5 Room classification
6.5.1 Assignment
Every image MUST be assigned exactly one room class from the normative taxonomy in Annex B. Assignment proceeds in two steps: the runner MUST first determine whether the image is interior or exterior (this determination is always made, using the more likely of the two), then assign the class within that branch.
6.5.2 Confidence rule
A class assignment MUST be accepted only when its classification confidence is at least the minimum classification confidence published by Standard Vision Lab with the canonical runner; otherwise the image MUST be assigned other-interior or other-exterior as applicable, and the low-confidence condition recorded. Classification confidence is runner-reported.
6.5.3 Multi-function spaces
An image spanning more than one class (for example an open-plan kitchen, dining, and living space) MUST be assigned the class occupying the largest share of the frame.
6.5.4 Use of the room class
The room class determines: membership of per-room-class set-consistency statistics; applicability of class-restricted parameters (an interior-only parameter is N/A on an exterior image, per 6.8); and the reference class for SEM-04. The classification in this subclause is a measurement input; SEM-04 is a scored parameter and is defined separately. The twilight condition is a modifier flag, not a class, and is recorded independently of the class (Annex B).
NOTE. The SVL production classifier emits the room type and sub-type with a confidence, together with a composition shot type (values observed in production: forty_five_degree, single_point) and edge-case flags (for example many_mirrors) CALIBRATED: SVL production QA, June 2026. Shot type and edge-case flags are recorded in the result record as classifier evidence; they do not affect the class assignment rules of this subclause.
6.6 Numeric conventions
The following conventions apply throughout this Specification:
- Intermediate computations MUST be carried at full precision. Rounding is applied only when a value is reported or recorded.
- Rounding is half away from zero for all quantities, signed quantities included: a value whose fractional part at the reported precision is exactly one half rounds to the value of larger magnitude.
- Parameter scores are integers in [0, 100].
- Category scores are the weighted means of applicable parameter scores, reported to 1 decimal place. The composite score MUST be computed from the reported 1-decimal category scores and reported as an integer, rounded half away from zero. This makes the composite exactly reproducible from the published result record.
- Weight renormalisation under N/A (6.8) MUST be performed at full precision.
- Set-consistency sigma is the population standard deviation (divisor n) of the per-image statistic across the set or sub-set, reported to 1 decimal place.
- Confidences are recorded in [0, 1] to 2 decimal places in machine-readable records and MAY additionally be presented as whole percentages in human-readable evidence.
- Luma quantities and CIELAB a*, b*, and C*ab quantities in evidence are reported to 1 decimal place; angular quantities to 2 decimal places; normalised coordinates to 4 decimal places.
6.7 Reproducibility and agreement tolerance
6.7.1 Determinism
A conforming runner MUST be deterministic: scoring the same image (or set) twice with the same runner version MUST produce identical results.
6.7.2 Two-runner agreement
Two independent conforming runners scoring the same image MUST agree within the per-parameter and composite agreement tolerances published by Standard Vision Lab with the canonical runner. On the SVL conformance corpus, whose published reference results specify the required N/A status for every parameter on every image, a runner MUST produce exactly the N/A determinations specified in the reference results: a parameter scored where the reference results require N/A, or recorded N/A where they require a score, is a non-conformance, not a tolerance matter. Outside the conformance corpus, divergence between runners in N/A determinations for near-threshold regions is not of itself a non-conformance. For set-consistency statistics, two conforming runners SHOULD agree within the set-statistic tolerance published in the same manner.
6.7.3 Statuses at boundaries
Statuses (PASS, FLAG, FAIL) derive deterministically from scores. Because scores from two conforming runners may fall within tolerance on opposite sides of a status boundary, conforming runners MAY report different statuses for the same parameter. Agreement is therefore assessed on scores, not statuses. For certification, the result produced by the SVL canonical runner is authoritative.
6.7.4 Conformance assessment
Conformance of a runner is assessed against the SVL conformance image set and its published reference results.
6.8 N/A determination and recording
6.8.1 Definition
A parameter is N/A for an image when the check it defines cannot meaningfully apply to that image. N/A MUST be determined under exactly one of the following reason codes:
| Code | Condition |
|---|---|
| NA-REGION | No region instance of the required class satisfies the inclusion rules of 6.3.3 (for example no Windows region for a window parameter) |
| NA-SCENE | The scene lacks the subject of the check (for example no fireplace for SEM-01, no pool for SEM-02) |
| NA-CLASS | The parameter is out of scope for the image's room class (for example an interior-only parameter on an exterior image) |
| NA-SET | The parameter is defined over a set and the submission contains no qualifying set (for example WBL-06 on a single-image submission) |
6.8.2 Recording
An N/A parameter MUST be recorded in the result record with status N/A and its reason code, and MUST NOT carry a numeric score.
6.8.3 Aggregation
N/A parameters are excluded from aggregation. Within a category, the weights of the remaining applicable parameters MUST be renormalised proportionally so they sum to 1. A category in which every parameter is N/A is itself N/A, is excluded from the composite, and the remaining category weights MUST be renormalised proportionally.
6.8.4 N/A is not failure
N/A MUST NOT be used to record a measurement the runner attempted and could not complete. A technical failure MUST be recorded as a measurement error; a result record containing a measurement error is incomplete and MUST NOT be used for certification.
6.8.5 Coverage
The result record MUST state the number of applicable (scored) parameters. When the number of applicable parameters is below the minimum applicable-parameter count published by Standard Vision Lab with the canonical runner, the composite MUST be marked low coverage in the result record.
7. Exposure parameters (EXP)
7.0 General
7.0.1 Scope of the category
The Exposure category protects the tonal integrity of the image: that the scene is rendered at a natural overall brightness, that highlight and shadow information is retained rather than clipped or crushed, and that the tonal range is neither flattened nor exaggerated. Exposure defects are the most common class of defect in real-estate imagery across all production methods: dark ambient captures, over-brightened enhancement output, HDR merges that flatten tone, and contrast curves that crush detail at either end of the histogram.
7.0.2 Measurement basis
Unless a parameter states otherwise, all EXP parameters are measured on the 8-bit luma channel Y, computed with Rec. 709 weights from the working image defined in the measurement conventions of this Specification (ICC-honouring decode, resample to 1600 px longest edge, Lanczos). Measurements are taken over the full frame: every pixel of the working image contributes exactly once, with no spatial weighting.
The following notation applies throughout clause 7:
- Y(p): the luma of pixel p, an integer in the range 0 to 255.
- N: the number of pixels in the working image.
- Ymean: the arithmetic mean of Y(p) over the stated region, in 8-bit levels, recorded to one decimal place.
- SD(Y): the population standard deviation of Y(p) over the stated region, in 8-bit levels, recorded to one decimal place.
- Pk(Y): the k-th percentile of Y over the stated region, computed by the nearest-rank method: Pk(Y) is the smallest luma value t such that the number of pixels with Y(p) <= t is greater than or equal to ceil(k * N / 100). A conforming runner MUST use this percentile definition; interpolated percentile definitions MUST NOT be used.
- Pixel percentages are 100 * (count of qualifying pixels) / (count of denominator pixels), with the denominator stated per parameter, recorded to two decimal places.
7.0.3 Scoring
Every EXP parameter is a continuous metric and is scored with the piecewise-linear breakpoint mapping defined in the scoring model of this Specification: metric values at or better than m100 score 100, with linear interpolation to 90 at m90, to 70 at m70, and to 0 at m0; the result is clipped to [0, 100] and rounded half up to an integer. The direction of "better" is stated for each parameter. Status is derived from the parameter score: PASS (90 to 100), FLAG (70 to 89), FAIL (69 or below). Breakpoint values in clause 7 that are calibrated from production data are tagged CALIBRATED: SVL production QA, June 2026.
A conforming runner MUST record, for each EXP parameter, the measured metric value, the parameter score, and the status in the result record.
7.0.4 Applicability
EXP parameters apply to every image regardless of production method. No EXP parameter defines an N/A condition: every EXP parameter is always applicable and MUST NOT be recorded as N/A.
NOTE. The brightness expectations used by EXP-01 and EXP-02 assume day-lit imagery, which constitutes the dominant use case in real-estate photography. Deliberately dark scenes (twilight and dusk exteriors, evening ambience shots) will legitimately measure below the band and will score lower.
7.1 EXP-01 Dark exposure
7.1.1 Intent
Detect global underexposure: an image whose overall rendition is darker than the natural brightness of the scene, producing a gloomy or murky impression and suppressing detail visibility throughout the frame.
7.1.2 Applies to; N/A conditions
All images. There are no N/A conditions. See the note in 7.0.4 regarding twilight and dusk imagery.
7.1.3 Measurement
Region: full frame. Statistic: Ymean over the full-frame luma histogram. Units: 8-bit luma levels (0 to 255).
7.1.4 Metric
The metric is Ymean itself, measured over the full frame CALIBRATED: SVL production QA, June 2026. Units: 8-bit levels. Higher is better: dark exposure is a one-sided lower deficiency, and values of Ymean at or above m100 score 100. Bright rendition is not penalised by this parameter (see EXP-02 and EXP-03).
7.1.5 Scoring
| Breakpoint | Ymean (levels) | Score |
|---|---|---|
| m100 | 180 CALIBRATED: SVL production QA, June 2026 | 100 |
| m90 | 55 CALIBRATED: SVL production QA, June 2026 | 90 |
| m70 | 40 CALIBRATED: SVL production QA, June 2026 | 70 |
| m0 | 20 CALIBRATED: SVL production QA, June 2026 | 0 |
m100 is the corpus mean of accepted production imagery (179.6, rounded to 180); m90 and m70 are the production FLAG and FAIL bounds; m0 is an extreme value one further fail-to-flag interval beyond m70, rounded. The wide interval between m100 and m90 reflects the production configuration, which flags only clearly dark imagery: typical accepted imagery measures near m100 (corpus range 175.0 to 185.9).
EXAMPLE (informative). Ymean = 47.5 lies between m90 and m70; the mapped value is 90 - (55 - 47.5) / (55 - 40) * 20 = 80.0, rounded half up to a parameter score of 80, status FLAG.
7.1.6 Failure modes caught
Underexposed ambient captures; failed flash or ambient balance; HDR merges biased dark; enhancement or AI relighting output that darkens the scene; dusk-for-day renders; interiors shot against bright windows without exposure compensation.
7.2 EXP-02 Bright exposure
7.2.1 Intent
Detect global overexposure: an image whose overall rendition is brighter than the natural brightness of the scene, producing a washed-out impression, compressed highlight tones, and loss of surface texture in bright areas even before hard clipping occurs.
7.2.2 Applies to; N/A conditions
All images. There are no N/A conditions.
7.2.3 Measurement
Region: full frame. Statistic: Ymean over the full-frame luma histogram. Units: 8-bit luma levels (0 to 255).
7.2.4 Metric
The bright-exposure excess:
D_bright = max(0, Ymean - B_hi)
where B_hi, the upper edge of the ideal mean-luma band, is published by Standard Vision Lab with the canonical runner. Units: 8-bit levels. Lower is better.
7.2.5 Scoring
Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
7.2.6 Failure modes caught
Over-brightened enhancement or AI relighting output; the washed-out "airy" failure mode in which walls and ceilings lose texture; overexposed exteriors; flash-dominated interiors with lifted global tone; brightness pushed to mask underexposed source material.
7.3 EXP-03 Highlight clipping
7.3.1 Intent
Detect hard highlight clipping: pixels driven to or near the channel maximum, where surface detail is irrecoverably lost. Measurement covers the full frame, including window and sky content CALIBRATED: SVL production QA, June 2026. Blowout confined to Windows regions is separately tolerated by the production window-exposure checks (see the NOTE at the end of clause 7), and the breakpoints below are set accordingly; this parameter protects walls, ceilings, fixtures, and furnishings.
7.3.2 Applies to; N/A conditions
All images. There are no N/A conditions.
7.3.3 Measurement
Region: full frame. Statistic: percentage of pixels at or above the clipping threshold. Units: percent of frame pixels. Denominator: N.
7.3.4 Metric
The clipped-highlight fraction:
C_hl = 100 * |{ p : Y(p) >= T }| / N
where the clipping threshold T is published by Standard Vision Lab with the canonical runner.
Units: percent. Lower is better. The m100 allowance below accommodates legitimate small specular highlights (light fittings, tap chrome, glossy surfaces) and typical window content.
7.3.5 Scoring
| Breakpoint | C_hl (% of frame pixels) | Score |
|---|---|---|
| m100 | 0.50 CALIBRATED: SVL production QA, June 2026 | 100 |
| m90 | 8.00 CALIBRATED: SVL production QA, June 2026 | 90 |
| m70 | 15.00 CALIBRATED: SVL production QA, June 2026 | 70 |
| m0 | 30.00 CALIBRATED: SVL production QA, June 2026 | 0 |
m100 is a corpus-typical accepted value (corpus mean 0.35, range 0.22 to 0.56, rounded to 0.50); m90 and m70 are the production FLAG and FAIL bounds; m0 is an extreme value one further fail-to-flag interval beyond m70, rounded.
7.3.6 Failure modes caught
Flash hotspots on walls and ceilings; luminaires blooming into surrounding surfaces; over-aggressive brightening or tone curves clipping the highlight shoulder; blown wall areas adjacent to windows where recovery was not applied; AI enhancement output that pushes bright surfaces to pure white.
7.4 EXP-04 Shadow crush
7.4.1 Intent
Detect crushed shadows: pixels driven to or near the channel minimum, where shadow detail and texture are irrecoverably lost and dark areas render as solid black.
7.4.2 Applies to; N/A conditions
All images. There are no N/A conditions. No region is excluded: unlike bright windows, there is no scene element in real-estate imagery for which solid black rendition is the accepted professional outcome.
7.4.3 Measurement
Region: full frame. Statistic: percentage of pixels at or below the crush threshold. Units: percent of frame pixels. Denominator: N.
7.4.4 Metric
The crushed-shadow fraction:
C_sh = 100 * |{ p : Y(p) <= 2 }| / N
Units: percent. Lower is better. The m100 allowance below accommodates small true-black elements (screen bezels, dark appliance trim, gaps under furniture).
7.4.5 Scoring
| Breakpoint | C_sh (% of frame pixels) | Score |
|---|---|---|
| m100 | 0.10 CALIBRATED: SVL production QA, June 2026 | 100 |
| m90 | 12.00 CALIBRATED: SVL production QA, June 2026 | 90 |
| m70 | 20.00 CALIBRATED: SVL production QA, June 2026 | 70 |
| m0 | 40.00 CALIBRATED: SVL production QA, June 2026 | 0 |
m100 is a corpus-typical accepted value (corpus mean 0.07, range 0.03 to 0.14, rounded to 0.10); m90 and m70 are the production FLAG and FAIL bounds; m0 is an extreme value one further fail-to-flag interval beyond m70.
7.4.6 Failure modes caught
Blocked shadows under furniture and inside wardrobes and doorways; aggressive S-curves clipping the toe; heavy vignette correction failures; denoising or AI processing that collapses shadow texture to solid black; underexposed source material with contrast applied on top.
7.5 EXP-05 Dynamic range
7.5.1 Intent
Detect an abnormally narrow tonal range: an image whose luma distribution occupies only a small portion of the available scale, producing a flat, hazy, or milky rendition even when the mean brightness is acceptable.
7.5.2 Applies to; N/A conditions
All images. There are no N/A conditions.
7.5.3 Measurement
Region: full frame. Statistic: percentile spread of the luma histogram using the nearest-rank percentiles defined in 7.0.2. Units: 8-bit luma levels.
7.5.4 Metric
The tonal spread:
S = P99(Y) - P1(Y)
Units: 8-bit levels. Higher is better. This parameter penalises narrow spreads only: values of S at or above m100 score 100 and a wide spread is not penalised here, because end-of-scale loss is assessed by EXP-03 and EXP-04. The 1st and 99th percentiles are used rather than the histogram extremes so that isolated outlier pixels cannot satisfy the metric.
7.5.5 Scoring
Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
7.5.6 Failure modes caught
Flat tone-mapped HDR merges; haze and veiling flare; over-lifted shadows combined with pulled highlights (the milky look); low-contrast AI generation output; scans or copies of imagery that have lost end-of-scale content.
7.6 EXP-06 Contrast
7.6.1 Intent
Detect global contrast outside the acceptable band, in either direction: flat rendition (tonal dispersion too low) and overcooked rendition (tonal dispersion too high, the harsh over-processed look). EXP-06 measures dispersion about the mean and is complementary to EXP-05, which measures the occupied range.
7.6.2 Applies to; N/A conditions
All images. There are no N/A conditions.
7.6.3 Measurement
Region: full frame. Statistic: SD(Y), the population standard deviation of the full-frame luma histogram. Units: 8-bit luma levels.
7.6.4 Metric
The metric is SD(Y) itself, assessed against a two-sided ideal band with per-side breakpoints CALIBRATED: SVL production QA, June 2026. Values of SD(Y) between the lower-side m100 and the upper-side m100 score 100. A value below the lower-side m100 MUST be scored on the lower-side breakpoints (flat rendition; higher is better on this side); a value above the upper-side m100 MUST be scored on the upper-side breakpoints (overcooked rendition; lower is better on this side). Units: 8-bit levels. A conforming runner SHOULD additionally record the direction of the deviation (below band: flat; above band: overcooked) as evidence in the result record.
7.6.5 Scoring
Lower side (flat):
| Breakpoint | SD(Y) (levels) | Score |
|---|---|---|
| m100 | 40 CALIBRATED: SVL production QA, June 2026 | 100 |
| m90 | 37 CALIBRATED: SVL production QA, June 2026 | 90 |
| m70 | 14 CALIBRATED: SVL production QA, June 2026 | 70 |
| m0 | 7 CALIBRATED: SVL production QA, June 2026 | 0 |
Upper side (overcooked):
| Breakpoint | SD(Y) (levels) | Score |
|---|---|---|
| m100 | 45 CALIBRATED: SVL production QA, June 2026 | 100 |
| m90 | 83 CALIBRATED: SVL production QA, June 2026 | 90 |
| m70 | 113 CALIBRATED: SVL production QA, June 2026 | 70 |
| m0 | 140 CALIBRATED: SVL production QA, June 2026 | 0 |
The band centre is taken from the accepted-corpus statistics (mean 39.2, range 31.1 to 46.8); on each side m90 and m70 are the production FLAG and FAIL bounds, and each m0 is an extreme value roughly one further fail-to-flag interval beyond that side's m70, rounded.
EXAMPLE (informative). SD(Y) = 31.1 (the lowest value in the accepted corpus) lies between the lower-side m90 and m70; the mapped value is 90 - (37 - 31.1) / (37 - 14) * 20 = 84.87, rounded half up to a parameter score of 85, status FLAG, matching the production FLAG recorded for that image.
7.6.6 Failure modes caught
Flat side: low-contrast HDR tone mapping, haze, timid global curves, AI output with compressed tonality. Overcooked side: aggressive global contrast and clarity, punchy preset or LUT application, exaggerated local-contrast enhancement inflating global dispersion, AI enhancement tuned for social-media impact rather than natural rendition.
NOTE. The SVL production QA system additionally checks window exposure within Windows regions: window mean luma (8-bit levels; FLAG below 50, FAIL below 35) and the percentage of clipped pixels within Windows regions (FLAG above 60, FAIL above 85) CALIBRATED: SVL production QA, June 2026. These bounds reflect a deliberate high tolerance for window blowout in accepted professional imagery. This NOTE is informative.
8. White balance parameters (WBL)
8.0 General
8.0.1 Colour space. All white balance (WBL) measurements SHALL be made in CIELAB with the D65 reference white, computed from the working representation defined in 6.2 of this Specification. Throughout this clause, "a*" denotes the CIELAB green to magenta axis (negative values green, positive values magenta/red) and "b*" denotes the CIELAB blue to yellow axis (negative values blue, positive values yellow). In real-estate photography, white balance error manifests predominantly along b* (warm tungsten or LED bias in the positive direction, uncorrected daylight or over-correction in the negative direction), with secondary error along a* (green bias from fluorescent or budget LED sources, magenta bias from over-correction).
8.0.2 Chromatic deviation. For a region R, the region mean chromaticity is the pair (ā_R, b̄_R), the arithmetic means of a* and b* over the pixels of R. The chromatic deviation of R from a target point (a*_t, b*_t) is the Euclidean distance:
D(R) = sqrt((ā_R − a*_t)² + (b̄_R − b*_t)²)
Unless a parameter states otherwise, the target is the neutral point (0, 0). Chromatic deviation is expressed in CIELAB units.
8.0.3 Role of the WB anchor. The WB Anchor region class identifies the largest high-confidence near-neutral matte surface in the image (ceiling preferred in interiors), as defined in 6.4. The anchor provides an estimate of scene neutrality that is substantially independent of content colour (furnishings, timber, foliage), and is therefore the preferred basis for white balance judgement. A WB Anchor region qualifies for measurement only when it meets the minimum segmentation confidence and minimum area conditions of 6.4.2. Conforming runners MUST record the anchor surface class and confidence in the result record (for example: "WB Anchor: ceiling (99%)").
8.0.4 Image white balance statistic. For the consistency parameters (WBL-05, WBL-06) each image I is summarised by a single white balance statistic w(I) = (ā, b̄), computed from the first available of the following sources, in order: (a) the qualifying WB Anchor region; (b) the near-neutral candidate set defined in 8.7 (WBL-07); (c) the whole frame excluding the Windows, Window WB, Sky and Reflective region classes. A conforming runner MUST record which source was used. Two conforming runners comparing the same set MUST derive w(I) by this precedence so that consistency scores remain comparable within the reproducibility tolerance.
8.0.5 Scoring. All WBL parameters are continuous metrics and SHALL be scored through the piecewise-linear breakpoint mapping defined in 14.1.1. Breakpoints tagged CALIBRATED: SVL production QA, June 2026 derive from the SVL production QA configuration and accepted-output corpus; where a parameter's breakpoints are not published in this clause, they are published by Standard Vision Lab with the canonical runner. Where a metric is symmetric about an ideal value, breakpoints apply to the absolute deviation from that ideal. Statuses (PASS, FLAG, FAIL) follow from the parameter score per the scoring model.
8.0.6 Applicability. A WBL parameter whose required regions or comparison population are absent SHALL be recorded as N/A, excluded from aggregation, with remaining weights renormalised, per the scoring model. The N/A conditions for each parameter are stated in its subclause.
8.1 WBL-01 White balance anchor
8.1.1 Definition
WBL-01 measures how far the WB anchor surface departs from neutral, assessed separately on the a* and b* axes. A correctly balanced image renders its dominant near-neutral matte surface at or very near the neutral point, with a deliberate tolerance for slight warmth along b*.
8.1.2 Metric
The metric is the pair of signed axis values (ā, b̄) of the qualifying WB Anchor region mean chromaticity per 8.0.2, each axis scored against its own two-sided breakpoints per 8.1.4. Production QA enforces the anchor on each axis independently, with an asymmetric warm-tolerant band on b* CALIBRATED: SVL production QA, June 2026. Runners MUST report the signed component values (ā, b̄) in evidence so that the direction of the cast (warm, cool, green, magenta) is recoverable from the result record, and MAY additionally report the Euclidean deviation D of 8.0.2 as informative evidence.
8.1.3 Applicability
WBL-01 SHALL be recorded as N/A when no WB Anchor region qualifies under 8.0.3.
8.1.4 Breakpoints CALIBRATED: SVL production QA, June 2026
Each axis is scored through the piecewise-linear mapping of 14.1.1, applied per side about the axis m100 value. The WBL-01 parameter score is the minimum of the a* and b* axis scores.
| Axis | Side | m100 | m90 | m70 | m0 |
|---|---|---|---|---|---|
| b̄ (blue to yellow) | cool (lower) | 2.3 | -3.0 | -4.0 | -5.0 |
| b̄ (blue to yellow) | warm (upper) | 2.3 | 5.0 | 6.5 | 8.0 |
| ā (green to magenta) | green (lower) | 0.6 | -2.0 | -3.0 | -4.0 |
| ā (green to magenta) | magenta (upper) | 0.6 | 2.0 | 3.0 | 4.0 |
All values are in CIELAB units CALIBRATED: SVL production QA, June 2026. The m100 values are the accepted-corpus means (b* 2.34 and a* 0.57 over the June 2026 production corpus). The b* band is deliberately asymmetric and warm-tolerant: anchor warmth up to b* = +5.0 passes, while cool rendering is flagged from b* = -3.0, reflecting production acceptance of warm-leaning interior imagery. The m0 values extend approximately one further fail-to-flag interval beyond the m70 bound.
8.1.5 Evidence
A conforming runner SHOULD record the anchor region mask or bounding geometry (normalised coordinates), the anchor surface class and confidence, (ā, b̄), and the per-axis scores.
8.2 WBL-02 Interior cast
8.2.1 Definition
WBL-02 measures the overall chromatic cast of the interior surfaces of the image, excluding window content. It captures casts that survive even when a small anchor surface has been locally corrected, and casts in images where the anchor is unrepresentative.
8.2.2 Metric
The measurement region is the whole frame minus the Windows, Window WB, Sky and Reflective region classes. The metric is the chromatic deviation D of the region mean chromaticity (ā, b̄) from (0, 0), per 8.0.2. Legitimate content colour (timber, textiles, painted feature walls) contributes to the mean.
8.2.3 Applicability
WBL-02 applies to interior images only. It SHALL be recorded as N/A for images whose room class is exterior, and when the measurement region is smaller than the minimum region area published by Standard Vision Lab with the canonical runner.
8.2.4 Breakpoints
Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
8.2.5 Evidence
A conforming runner SHOULD record the measurement region area fraction, (ā, b̄), and D.
8.3 WBL-03 Window white balance
8.3.1 Definition
WBL-03 measures whether the light rendered in Window WB regions is plausible daylight, assessed separately on the a* and b* axes. Windows rendered strongly cyan, green, magenta or deeply blue indicate window-pull compositing errors, HDR fusion errors or AI regeneration of window content; warm rendering is tolerated across a wide band, from neutral overcast light through to low sun.
8.3.2 Metric
The metric is the pair of signed axis values (ā, b̄) of the Window WB mean chromaticity, each axis scored against its own two-sided breakpoints per 8.3.4. Where an image contains multiple Window WB regions, (ā, b̄) SHALL be the area-weighted mean chromaticity over all qualifying regions, and the per-region chromaticities SHALL be recorded in evidence. The per-axis form is that of production QA CALIBRATED: SVL production QA, June 2026. The signed values MUST be reported.
8.3.3 Applicability
WBL-03 SHALL be recorded as N/A when the image contains no qualifying Window WB region (minimum region area published by Standard Vision Lab with the canonical runner), including all windowless interiors and images with no visible glazing.
8.3.4 Breakpoints CALIBRATED: SVL production QA, June 2026
Each axis is scored through the piecewise-linear mapping of 14.1.1, applied per side about the axis m100 value. The WBL-03 parameter score is the minimum of the a* and b* axis scores.
| Axis | Side | m100 | m90 | m70 | m0 |
|---|---|---|---|---|---|
| b̄ (blue to yellow) | cool (lower) | 0.6 | -3.5 | -4.5 | -5.5 |
| b̄ (blue to yellow) | warm (upper) | 0.6 | 11.0 | 11.5 | 12.0 |
| ā (green to magenta) | green (lower) | -0.6 | -2.0 | -3.0 | -4.0 |
| ā (green to magenta) | magenta (upper) | -0.6 | 2.0 | 3.0 | 4.0 |
All values are in CIELAB units CALIBRATED: SVL production QA, June 2026. The m100 values are the accepted-corpus means (b* 0.63 and a* -0.60 over the June 2026 production corpus). The b* band is even more warm-asymmetric than the anchor band of 8.1.4: window warmth up to b* = +11.0 passes, reflecting a deliberate production tolerance for warm exterior views, while cool rendering is flagged from b* = -3.5. The m0 values extend approximately one further fail-to-flag interval beyond the m70 bound.
8.3.5 Evidence
A conforming runner SHOULD record each Window WB region's mean chromaticity and area weighting, the combined (ā, b̄), and the per-axis scores.
8.4 WBL-04 Cool/warm bias
8.4.1 Definition
WBL-04 measures the signed blue to yellow bias of the whole frame. It detects the globally too-warm or too-cool renderings characteristic of unbalanced tungsten lighting, aggressive "warmth" grading, and over-corrected daylight.
8.4.2 Metric
The metric is the frame mean b* over all pixels of the resampled image. The metric is symmetric about an ideal value published by Standard Vision Lab with the canonical runner; breakpoints apply to the absolute deviation from that ideal per 8.0.5. The sign of the bias (positive warm, negative cool) MUST be reported in evidence.
8.4.3 Applicability
WBL-04 applies to all images. It has no N/A condition.
8.4.4 Breakpoints
Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
8.4.5 Evidence
A conforming runner SHOULD record signed b̄, the absolute deviation, and the direction label ("warm" or "cool").
8.5 WBL-05 Per-room consistency
8.5.1 Definition
WBL-05 measures whether this image's white balance is consistent with the other images of the same room class in the submitted set. Successive frames of the same room (or the same class of room) presented with visibly different white balance are a primary consumer-visible defect in listing galleries.
8.5.2 Metric
Let w(I) be the image white balance statistic per 8.0.4, and let W_room be the arithmetic mean of w(J) over all other images J in the set assigned the same room class as I (leave-one-out: I itself is excluded). The metric is the Euclidean distance in the (a*, b*) plane between w(I) and W_room. Room class assignment is the runner's room class determination for each image.
8.5.3 Applicability
WBL-05 SHALL be recorded as N/A for single-image submissions, and for any image whose room class comparison population (other images of the same room class) is empty.
8.5.4 Breakpoints
Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
8.5.5 Evidence
A conforming runner SHOULD record the room class, the comparison population size, w(I), W_room, and the distance. The source used for w(I) per 8.0.4 MUST be recorded.
8.6 WBL-06 Per-set consistency
8.6.1 Definition
WBL-06 measures whether this image's white balance is consistent with the set as a whole. It complements the set-level sigma statistics of clause 13 by attributing set inconsistency to the individual outlier images responsible for it.
8.6.2 Metric
Let w(I) be the image white balance statistic per 8.0.4. The comparison population is all other images in the same standard grouping as I (All Interiors for interior images, All Exteriors for exterior images); where that population is empty the whole set (excluding I) SHALL be used. Let W_set be the arithmetic mean of w(J) over the comparison population (leave-one-out). The metric is the Euclidean distance in the (a*, b*) plane between w(I) and W_set.
8.6.3 Applicability
WBL-06 SHALL be recorded as N/A for single-image submissions.
8.6.4 Breakpoints
Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
8.6.5 Evidence
A conforming runner SHOULD record the comparison population and its size, w(I), W_set, and the distance.
8.7 WBL-07 Neutrality
8.7.1 Definition
WBL-07 measures the fraction of intended-neutral pixels that are actually rendered near neutral. Unlike WBL-01, which evaluates a single anchor surface, WBL-07 evaluates all surfaces the runner identifies as intended neutral (white ceilings, white and grey walls, white trim, grey concrete, white sanitaryware and similar achromatic matte materials), and so detects mixed-illuminant scenes in which some neutral surfaces are corrected and others are not.
8.7.2 Metric
The near-neutral candidate set is the union of pixels in regions the runner identifies as intended-neutral matte surfaces, drawn from the WB Anchor and Ceiling region classes plus any additional runner-identified achromatic material surfaces. Candidate identification MUST be based on semantic and material evidence and MUST NOT be conditioned on the measured chroma of the candidate pixels; a candidate set selected by chroma would satisfy this parameter trivially. A candidate pixel is within tolerance when its chroma Cab = sqrt(a² + b*²) is at most the chroma tolerance published by Standard Vision Lab with the canonical runner. The metric is the fraction f of candidate pixels within tolerance, in [0, 1]; higher values are better.
8.7.3 Applicability
WBL-07 SHALL be recorded as N/A when the candidate set is smaller than the minimum area published by Standard Vision Lab with the canonical runner, including images with no identifiable intended-neutral surfaces (for example some exterior garden views).
8.7.4 Breakpoints
Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
8.7.5 Evidence
A conforming runner SHOULD record the candidate set area fraction, the region classes contributing to it, the tolerance in force, and f. Runners MAY additionally record a spatial map of out-of-tolerance candidate pixels as overlay evidence.
9. Colour parameters (COL)
9.0 General
9.0.1 Scope
The Colour category assesses the chromatic rendering of the delivered image: overall saturation, the global colour balance of the rendered scene, the shape of the chroma distribution, the plausibility of memory colours, and residual evidence of destructive colour grading. Colour parameters apply to any real-estate still image regardless of production method.
All Colour measurements are made on the working representations defined in 6.2 of this Specification: the image decoded honouring any embedded ICC profile (otherwise assumed sRGB per IEC 61966-2-1), converted to CIELAB (D65), and resampled so that the longest edge is 1600 px. In this clause, "a" and "b" refer to the CIELAB a* and b* axes. Saturation metrics in this clause are measured on the HSV S channel, expressed on the 0 to 255 scale, per the working representations of 6.2 CALIBRATED: SVL production QA, June 2026.
9.0.2 Relationship to the White balance category
White balance (WBL) parameters estimate illuminant correctness from near-neutral evidence (the WB anchor and related region classes). COL-02 and COL-03 instead measure the global balance of the rendered chromatic content after all processing. A deliberate grading choice MAY therefore fail COL-02 or COL-03 while the WBL parameters pass, and vice versa. Runners MUST score the two categories independently and MUST NOT derive one from the other.
9.0.3 Definitions
The following definitions apply throughout this clause.
- Chroma. Cab = (a^2 + b*^2)^0.5, in CIELAB units.
- Hue angle. hab = atan2(b*, a*), expressed in degrees on [0, 360).
- Colour assessment region (CAR). All pixels of the resampled working image excluding pixels belonging to the Windows and Sky region classes. Window and sky content is assessed separately (WBL-03, ART-05) and MUST NOT contribute to Colour category statistics.
- Chromatic pixel. A pixel with C*ab at or above the chromatic-pixel threshold published by Standard Vision Lab with the canonical runner.
- Band deviation. For a metric with an ideal band [L, U], the band deviation is D = max(0, L minus the value, the value minus U). A value inside the band has D = 0.
- Region hue. The hue angle of a set of pixels MUST be computed as the hue angle of the mean chromatic vector, hab(mean a*, mean b*), not as the arithmetic mean of per-pixel hue angles.
- Percentile. Percentiles are computed by the nearest-rank method over the stated pixel population.
9.0.4 Scoring and aggregation
All parameters in this clause are continuous and map to parameter scores through the piecewise-linear breakpoint mapping defined in the scoring model of this Specification (values at or better than m100 score 100, interpolating to 90 at m90, 70 at m70, 0 at m0, clipped to [0, 100], rounded half up). Breakpoints tagged CALIBRATED: SVL production QA, June 2026 derive from the SVL production QA configuration and accepted-output corpus; where a parameter's breakpoints are not published in this clause, they are published by Standard Vision Lab with the canonical runner. Unless a parameter states otherwise, breakpoints are lower-is-better. Statuses follow the global mapping: PASS 90 to 100, FLAG 70 to 89, FAIL 69 or below.
The Colour category weight in the composite, and the parameter weights within the category, are published by Standard Vision Lab with the canonical runner. A parameter recorded N/A is excluded from aggregation and the remaining parameter weights are renormalised.
If the CAR covers less than the minimum area published by Standard Vision Lab with the canonical runner (for example a frame dominated by windows and sky), parameters COL-01 through COL-04 and COL-06 MUST be recorded N/A.
9.0.5 Reporting
For every applicable Colour parameter the result record MUST include the measured metric value(s) reported to one decimal place, and, where region classes are used, the normalised coordinates of the regions relied upon, per the measurement conventions.
9.1 COL-01 Saturation
9.1.1 Intent
Detects overall renderings that are drab (undersaturated, grey, lifeless) or oversaturated (garish, unrealistic), in either direction of the plausible range for real-estate imagery.
9.1.2 Metric
The metric is the mean HSV saturation over all pixels of the CAR, measured on the HSV S channel expressed on the 0 to 255 scale per 6.2, denoted Smean. Production QA measures saturation as HSV S over content regions, for which the CAR is the specified scope CALIBRATED: SVL production QA, June 2026. Smean is scored two-sided against per-side breakpoints per 9.1.3.
9.1.3 Score mapping
Smean is scored through the piecewise-linear mapping of 14.1.1 applied per side about the m100 value; the parameter score is the minimum of the two side scores. Breakpoints on Smean, HSV S on the 0 to 255 scale:
| Side | m100 | m90 | m70 | m0 |
|---|---|---|---|---|
| Under-saturation (lower) | 70 | 3 | 2 | 0 |
The under-saturation side, and the m100 of 70 (accepted-corpus mean; observed corpus range 26.6 to 106.5), are CALIBRATED: SVL production QA, June 2026. The under-saturation floor is deliberately permissive: only near-monochrome renderings (Smean below 3) are penalised. Breakpoints for the over-saturation (upper) side are published by Standard Vision Lab with the canonical runner.
9.1.4 Applicability
Applicable to all images with a non-empty CAR meeting the minimum area rule of 9.0.4. Otherwise recorded N/A.
9.1.5 Notes
Mean saturation is content dependent: a white minimalist interior legitimately sits low; a garden exterior sits high.
9.2 COL-02 Colour cast a
9.2.1 Intent
Detects a global colour cast in the rendered image that survives, or is introduced by, processing. Production QA enforces colour cast as a single combined magnitude measured on targeted neutral surfaces rather than as separate per-axis means; COL-02 carries that calibrated combined check, and the per-axis split (signed mean a* under this parameter, signed mean b* under COL-03) is retained as reported evidence CALIBRATED: SVL production QA, June 2026.
9.2.2 Metric
The scored metric is the targeted colour cast maximum: over the surfaces the runner designates as intended neutral (the is_neutral surface designation of the classification record), compute for each surface the chromatic deviation of the surface mean chromaticity from the neutral point (0, 0) per 8.0.2; the metric is the maximum such deviation across the targeted surfaces, in CIELAB distance units CALIBRATED: SVL production QA, June 2026.
As reported evidence, runners MUST additionally record the signed arithmetic mean a* over the cast scope: the CAR additionally excluding pixels of the Wood, Grass and Greens region classes, so that strong legitimate memory colours do not masquerade as, or mask, a cast. Positive mean a* indicates a magenta or red bias; negative deviation indicates a green bias. The per-axis means are evidence only and are not independently scored in v1.0.
9.2.3 Score mapping
Breakpoints on the targeted colour cast maximum, in CIELAB distance units CALIBRATED: SVL production QA, June 2026:
| m100 | m90 | m70 | m0 |
|---|---|---|---|
| 1.0 | 12.0 | 15.0 | 25.0 |
The m100 value is corpus-typical (accepted-corpus mean 0.98, range 0.67 to 1.33); m0 extends approximately one further fail-to-flag interval beyond m70.
9.2.4 Applicability
Applicable whenever COL-01 is applicable and at least one targeted neutral surface is designated; otherwise N/A. The evidence-only cast-scope means are reported when the cast scope covers at least the minimum area published by Standard Vision Lab with the canonical runner.
9.3 COL-03 Colour cast b
9.3.1 Intent
Records the yellow or blue component of the global cast. Yellow casts from mixed tungsten lighting and blue casts from uncorrected shade or aggressive cooling are the most common colour defects in real-estate photography.
9.3.2 Metric
The metric is the signed arithmetic mean b* over the cast scope defined in 9.2.2. Positive deviation indicates a yellow bias; negative deviation indicates a blue bias. The signed value MUST be reported.
9.3.3 Score mapping
COL-03 is not independently scored in v1.0: the calibrated cast check is the combined targeted colour cast maximum scored under COL-02 (9.2.3), and COL-03 is recorded as evidence, excluded from aggregation with the remaining parameter weights renormalised CALIBRATED: SVL production QA, June 2026.
9.3.4 Applicability
As COL-02 (9.2.4); evidence-only reporting.
9.4 COL-04 Vibrance
9.4.1 Intent
Detects selective oversaturation: processing that leaves mean chroma plausible while pushing already-chromatic content into an unnaturally heavy tail (vibrance sliders, per-colour saturation boosts, AI enhancement). COL-01 cannot catch this because the mean remains in band.
9.4.2 Metric
Over the chromatic pixels of the CAR (9.0.3), compute the mean chroma Mc and the 95th percentile chroma P95c (nearest rank). The metric is the tail ratio R = P95c / Mc. Restricting the population to chromatic pixels makes R insensitive to large neutral areas, so a single legitimately saturated staging object in an otherwise neutral room does not inflate the metric.
9.4.3 Score mapping
Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
9.4.4 Applicability
If fewer than the minimum chromatic fraction of CAR pixels published by Standard Vision Lab with the canonical runner are chromatic, the chroma distribution shape is statistically unstable and the parameter MUST be recorded N/A.
9.5 COL-05 Skin and foliage plausibility
9.5.1 Intent
Checks memory colours against plausible hue bands and material saturation ceilings. Grass and foliage rendered outside the natural green-yellow band or at implausibly high saturation (typical of AI lawn replacement or heavy grading), timber rendered at implausibly high saturation, and skin rendered outside the natural skin-hue band, are strong evidence of implausible processing even when global statistics pass.
9.5.2 Metric
Two sub-checks are evaluated where their evidence classes are present.
(a) Hue plausibility. Two evidence classes are evaluated where present: Foliage (pixels of the Grass and Greens region classes) and Skin (exposed skin of runner-detected persons). The plausible hue band and minimum area for each evidence class, and the minimum chroma below which pixels carry unstable hue and MUST be excluded, are published by Standard Vision Lab with the canonical runner. For each applicable evidence class, the region hue (9.0.3, item 6) is computed over the class pixels at or above the minimum chroma. The class deviation is the angular distance in degrees from the region hue to the nearest edge of the plausible band (0 if inside the band).
(b) Material saturation ceilings CALIBRATED: SVL production QA, June 2026. For each of the Greens and Wood region classes meeting the minimum area published by Standard Vision Lab with the canonical runner, compute the mean HSV S value (0 to 255 scale, per 6.2) over the class pixels; each class value is scored one-sided upper (higher is worse) through the breakpoints of 9.5.3.
The parameter score is the minimum across all evaluated sub-check scores: the worst memory colour governs.
9.5.3 Score mapping
Sub-check (a): breakpoints on the maximum class deviation are published by Standard Vision Lab with the canonical runner.
Sub-check (b): breakpoints on mean HSV S per class, 0 to 255 scale CALIBRATED: SVL production QA, June 2026:
| Class | m100 | m90 | m70 | m0 |
|---|---|---|---|---|
| Greens | 30 | 236 | 247 | 255 |
| Wood | 70 | 222 | 250 | 255 |
The m100 values are corpus-typical (accepted-corpus observations: Greens 5.6 to 48.9, Wood 43.3 to 91.1); m0 is the scale maximum. The production configuration additionally bounds Grass-region saturation at FLAG above 214 and FAIL above 235 on the same scale CALIBRATED: SVL production QA, June 2026.
9.5.4 Applicability
Recorded N/A when no evidence class of either sub-check meets its minimum area: no Grass, Greens or Wood regions and no detected persons. This is the common case for unoccupied interiors without visible garden or exposed timber.
9.5.5 Notes
The v1.0 region class list does not include a Skin or People class; skin evidence relies on runner-side person detection. The hue-band check is implementation neutral: any detection method meeting the reproducibility tolerance conforms, and no specific ML model is mandated.
9.6 COL-06 LUT residue
9.6.1 Intent
Detects residual damage from heavy LUT, preset or aggressive automated grading: posterisation and quantisation of the tonal and chromatic histograms (comb artefacts), and collapse of scene hues into a few narrow bands (for example teal-orange looks). Such residue indicates destructive processing regardless of whether the overall statistics remain in band.
9.6.2 Sub-metric A: comb gap fraction
For each working channel c in {Y, a*, b*}, compute a histogram: Y over 256 integer bins; a* and b* over 1-unit bins spanning [-128, 128). The central range of a channel is the contiguous run of bins between the 0.5th and 99.5th percentile values of that channel over the CAR. A bin in the central range is empty if its count is below N x 10^-5, where N is the number of CAR pixels. The channel gap fraction Gc is the number of empty central-range bins divided by the number of central-range bins. Sub-metric A is G = max(GY, Ga, Gb), expressed in percent. Continuous-tone images yield G near 0; strong tone curves and LUT quantisation carve periodic gaps.
Breakpoints on G are published by Standard Vision Lab with the canonical runner.
9.6.3 Sub-metric B: hue concentration
Over the chromatic pixels of the CAR, compute a 72-bin hue histogram (5 degrees per bin). Select the most populated bin, then the most populated remaining bin whose centre is at least 20 degrees from the first; if no such bin exists, only one mode is selected. Sub-metric B is F2, the fraction of chromatic pixels whose hue lies within 10 degrees of the centre of a selected bin. Runners MUST implement exactly this mode selection.
Breakpoints on F2 are published by Standard Vision Lab with the canonical runner.
Sub-metric B MUST be recorded not evaluated when fewer than the minimum chromatic fraction of CAR pixels published by Standard Vision Lab with the canonical runner are chromatic, since near-neutral scenes legitimately concentrate their few hues.
9.6.4 Score mapping
Each evaluated sub-metric maps to a sub-score through its own breakpoints. The COL-06 parameter score is the minimum of the evaluated sub-scores: the worst evidence governs. If only sub-metric A is evaluated, the parameter score equals the sub-metric A score. Both sub-metric values, and both sub-scores where evaluated, MUST be reported in the result record.
9.6.5 Applicability
Applicable whenever COL-01 is applicable (9.0.4). Sub-metric A is always evaluated when the parameter is applicable.
9.6.6 Notes
Comb artefacts can also arise from legitimate but aggressive 8-bit workflows; this remains quantisation damage in the delivered file and is scored as such. Hue concentration is content dependent: a scene genuinely dominated by one material family scores worse on sub-metric B by design of natural scenes.
10. Geometry parameters (GEO)
10.0 General
This clause defines the six parameters of the Geometry category. The Geometry category assesses the rendered geometry of the architectural scene: the alignment of structural lines, the residual of perspective correction, the straightness of long architectural edges, and the completeness of essential content within the frame. Geometry parameters apply identically to photographed, human-edited, AI-processed, and AI-generated images.
10.0.1 Line detection
All angular measurements in this clause are made on architectural line segments detected within the Verticals and Horizontals region classes defined in the measurement conventions of this Specification, and, where stated, within the Ceiling region class. A conforming runner MUST detect architectural line segments within these region classes and MUST report, for each qualifying segment, its endpoints in normalised [0,1] coordinates and its angle relative to the relevant image axis.
This Specification does not mandate any particular line-detection algorithm, edge operator, or machine-learning model. Any detection method is conforming provided the resulting parameter scores meet the inter-runner agreement tolerance stated in the reproducibility requirement of this Specification.
A qualifying segment is a detected architectural line segment whose length in normalised coordinates is at least the minimum segment length published by Standard Vision Lab with the canonical runner. Segments shorter than this threshold MUST be excluded from the metrics in this clause. Segments belonging to movable furnishings rather than the architectural fabric SHOULD be excluded; door frames, window frames, wall junctions, cornices, skirtings, benchtops fixed to the fabric, and the exterior horizon are architectural for the purposes of this clause.
10.0.2 Units and reporting
All angular metrics in this clause are expressed in degrees. Angles are measured in the resampled working image defined in the measurement conventions; because resampling preserves aspect ratio, angles are unaffected by resampling. Runners SHOULD report angular metric values to a precision of 0.01 degrees. Metrics defined as deviations from an image axis are symmetric: the breakpoint mapping applies to the absolute deviation, per the scoring model of this Specification.
10.0.3 Applicability
Where a parameter in this clause does not apply to an image (for example GEO-03 in an image with no visible ceiling), it MUST be recorded as N/A, excluded from aggregation, with remaining category weights renormalised, per the scoring model of this Specification.
10.1 GEO-01 Verticals
Definition. GEO-01 measures the maximum absolute angular deviation of architectural vertical lines from the image vertical axis. In a rectilinear image with a level camera or with completed perspective correction, all architectural verticals render parallel to the image vertical regardless of their position in the frame; residual lean indicates incomplete correction, camera tilt, or geometric distortion introduced in processing or generation.
Applicability. Applies to any image containing at least one qualifying segment in the Verticals region class. Images with no qualifying vertical segments (for example a detail shot with no visible architectural verticals) MUST be recorded N/A.
Metric. For each qualifying segment in the Verticals region class, the runner computes the absolute angle in degrees between the segment and the image vertical axis. The parameter metric is the maximum of these values across all qualifying segments. Runners SHOULD apply robust line fitting to individual segments so that localised edge noise does not perturb the segment angle.
Scoring. Continuous, piecewise-linear breakpoint mapping on absolute deviation, per the scoring model. The production configuration bounds vertical-line deviation at FLAG above 1.5 degrees and FAIL above 2.5 degrees CALIBRATED: SVL production QA, June 2026; the full breakpoint table is published by Standard Vision Lab with the canonical runner.
10.2 GEO-02 Horizontals
Definition. GEO-02 measures the maximum absolute angular deviation of reference horizontal lines from the image horizontal axis. Only lines that should render horizontal are assessed: the exterior horizon, and architectural horizontal edges lying parallel to the image plane (for example the front edge of a benchtop or a facade edge viewed frontally). Horizontal edges receding obliquely toward a vanishing point exhibit legitimate perspective convergence and MUST be excluded.
Applicability. Applies to any image containing at least one qualifying reference horizontal segment. Images in which every detected horizontal segment is perspective-exempt (all horizontal edges recede obliquely) MUST be recorded N/A.
Metric. For each qualifying reference segment in the Horizontals region class, the runner computes the absolute angle in degrees between the segment and the image horizontal axis. The parameter metric is the maximum of these values across all qualifying reference segments. Where an exterior horizon is detected it MUST be treated as a reference segment.
Scoring. Continuous, piecewise-linear breakpoint mapping on absolute deviation, per the scoring model. The production configuration bounds horizontal-line deviation at FLAG above 1.5 degrees and FAIL above 2.5 degrees CALIBRATED: SVL production QA, June 2026; the full breakpoint table is published by Standard Vision Lab with the canonical runner.
Notes. The exclusion of receding lines is normative: a runner MUST NOT penalise legitimate one-point or two-point perspective under this parameter.
10.3 GEO-03 Ceiling line
Definition. GEO-03 assesses the straightness of ceiling and cornice lines and the sanity of their convergence. Physical ceiling and cornice lines are straight; in a rectilinear projection they render as straight lines converging consistently toward the vanishing points implied by the camera geometry. Bowing, waviness, or convergence reversal along a ceiling line indicates residual lens distortion, aggressive or spatially varying geometric correction, local retouching, or generative inconsistency.
Applicability. Applies to any image containing at least one qualifying segment in the Ceiling region class. Images with no visible ceiling (most exteriors) MUST be recorded N/A.
Metric (straightness). For each qualifying ceiling or cornice line, the runner fits the chord between the line endpoints and computes the bow angle: the maximum absolute angle in degrees between the local tangent direction along the detected line and the chord direction. The parameter metric is the maximum bow angle across all qualifying ceiling lines. A straight rendered line yields a bow angle of 0 degrees.
Convergence sanity. Ceiling lines on opposite sides of an interior MUST converge consistently with a single perspective solution. If a qualifying ceiling line reverses its direction of curvature along its length (an S-curve), or if opposite ceiling lines diverge in a manner inconsistent with any single vanishing-point solution by more than the convergence-sanity tolerance published by Standard Vision Lab with the canonical runner, the parameter score MUST NOT exceed 69 (FAIL), regardless of the bow-angle mapping.
Scoring. Continuous, piecewise-linear breakpoint mapping on the bow angle, per the scoring model, subject to the convergence-sanity cap above. Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
10.4 GEO-04 Floor edge
Definition. GEO-04 assesses the straightness of floor lines: floor-to-wall junctions, skirting lines, and equivalent long low architectural edges. These lines are long, low in the frame, and frequently cross the full image width, which makes them the most sensitive indicator of residual barrel or moustache distortion left by aggressive lens correction, and of local warp introduced by content-aware editing or generation.
Applicability. Applies to any image containing at least one qualifying floor-edge segment. Images with no visible floor junction (for example tightly cropped details or elevated exterior views) MUST be recorded N/A.
Metric. Identical in form to the GEO-03 straightness metric: for each qualifying floor-edge line, the bow angle is the maximum absolute angle in degrees between the local tangent along the detected line and the chord between its endpoints. The parameter metric is the maximum bow angle across all qualifying floor-edge lines. Runners SHOULD sample the tangent at fine, regular intervals along the line.
Scoring. Continuous, piecewise-linear breakpoint mapping on the bow angle, per the scoring model. Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
Notes. Floor edges are typically longer and closer to the frame edge, where correction residue concentrates and where bowing is most visible against the frame.
10.5 GEO-05 Perspective
Definition. GEO-05 measures the residual vertical convergence (keystone) remaining after perspective correction. Whereas GEO-01 measures the worst individual vertical lean, GEO-05 measures the systematic disagreement between vertical line families across the frame: verticals on the left and right sides of the frame leaning toward or away from each other indicate uncorrected upward or downward camera pitch, or asymmetric keystone introduced in processing.
Applicability. Applies to any image containing qualifying vertical segments in at least two horizontally separated families, one with centroid in the left half of the frame and one with centroid in the right half. Images with fewer than two such families MUST be recorded N/A.
Metric. The runner partitions qualifying segments of the Verticals region class into a left family and a right family by segment centroid. For each family the runner computes the length-weighted mean signed angle from the image vertical. The parameter metric is the absolute difference in degrees between the two family means. Convergence toward the top and convergence toward the bottom of the frame are treated identically (absolute value).
Scoring. Continuous, piecewise-linear breakpoint mapping, per the scoring model. Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
Notes. The length weighting stabilises the family means against short noisy segments and supports the inter-runner agreement tolerance. An image MAY score well on GEO-01 and poorly on GEO-05 (many slightly leaning verticals, all coherently converging) or the reverse (one badly warped vertical in an otherwise corrected frame); the two parameters are intentionally independent.
10.6 GEO-06 Cropping
Definition. GEO-06 assesses essential-content truncation: key objects cut by the frame edge in a way that withholds room-defining information from the viewer. Key objects are room-defining fixtures and focal furnishings. The v1.0 key-object vocabulary is the visible-object vocabulary of the production classifier CALIBRATED: SVL production QA, June 2026: bed, bedside table, lamp, pillows, duvet, artwork, framed artwork, picture frame, blinds, window blinds, window, mirror, vanity, sink, laundry sink, faucet, toilet, towel, towel rail, shower head, shower mixer, glass shower screen, soap dispenser, chair, desk, desk lamp, table lamp, plant, pot plant, vase, throw blanket, washing machine, light switch, power outlet, control box. An object in this vocabulary is a key object for an image when it is a room-defining fixture or a focal furnishing of that image. Deliberate compositional cropping of non-defining foreground furnishings is normal practice and is not penalised.
NOTE (informative). The vocabulary derives from an interior bedroom and bathroom production corpus; extension to further room classes (for example sofas, dining tables, kitchen islands, baths, fireplaces, and pools) follows the versioning process of clause 5.
Applicability. Applies to any image containing at least one detected key object. Images with no detected key objects (for example an empty room or a facade-only exterior) MUST be recorded N/A.
Assessment. For each key object touching a frame edge, the runner estimates the truncated fraction: the proportion of the object's inferred full extent that falls outside the frame. The parameter is scored on the discrete rubric of this Specification with the following severity definitions:
| Rubric level | Definition for GEO-06 | Score |
|---|---|---|
| None | No key object truncated, or truncation limited to non-defining foreground furnishings | 100 |
| Minor | A single non-focal key object truncated by a small fraction of its inferred extent | 80 |
| Moderate | The focal object truncated by a modest fraction, a single non-focal key object truncated by more than a small fraction, or two or more non-focal key objects truncated | 55 |
| Severe | The focal object substantially truncated, or truncation that materially misrepresents the room (for example a kitchen island or bed cut at the frame so its extent cannot be judged) | 20 |
Notes. Truncated-fraction estimation is implementation-neutral; any method is conforming provided scores meet the inter-runner agreement tolerance. The truncated fraction SHOULD be reported in the result record as evidence alongside the rubric level.
11. Artifact parameters (ART)
11.0 General
11.0.1 Scope
The parameters in this clause detect editing and generative failure modes: defects introduced by exposure fusion, retouching, object removal, sky replacement, window pull, upscaling, denoising, and generative synthesis. Consistent with the method neutrality of this Specification, an ART defect is scored identically whether it arises from human editing, automated processing, or AI generation. Runners MUST NOT vary ART scoring by declared or inferred production method.
11.0.2 Scoring basis
Except where a subclause states otherwise, ART parameters are scored on the discrete rubric: none 100, minor 80, moderate 55, severe or multiple 20. ART-06 is scored on the continuous breakpoint mapping. Because adjacent discrete rubric levels differ by more than the inter-runner agreement tolerance of +/-2 points, two conforming runners scoring the same image MUST assign the same rubric level for every discrete ART parameter.
11.0.3 Instances, size classes and salience
For the purposes of this clause:
An instance is a maximal connected defect region attributable to a single editing or generative event. Fragments produced by one event (for example, several stubs left by the erasure of one cable run) constitute one instance.
Size classes (small, medium, large) are defined by instance area as a fraction of the working image area (after resampling per the measurement conventions); the boundary area fractions are published by Standard Vision Lab with the canonical runner.
An instance is focal when it meets the definition of focal in clause 4.
11.0.4 Default severity mapping
Unless a subclause refines it, severity is assigned as follows:
| Level | Definition |
|---|---|
| none | no instance detected |
| minor | a single small instance that is not focal |
| moderate | a single medium instance, or a single small focal instance |
| severe | any large instance, any focal medium or large instance, or two or more distinct instances |
11.0.5 Detection neutrality
Runners MAY implement detection by any means, classical or learned. This Specification does not mandate any detection model or algorithm. A runner conforms if its assigned rubric levels and scores meet the agreement tolerance against the canonical runner.
11.0.6 Double counting
A single underlying cause MAY surface in more than one parameter (for example, a generative insertion may produce both an ART-04 impossible reflection and a SEM-05 implausible object). Each parameter scores only its own observable defect. No suppression or deduction transfer between parameters is applied.
11.0.7 Evidence
For every detected instance the runner MUST record: parameter ID, defect class, normalised bounding box, area fraction, severity class, and detection confidence. Overlay evidence SHOULD follow the established format, for example "ART-02: ghosting, ceiling fan (94%)".
11.1 ART-01 AI texture blocks
11.1.1 Definition
ART-01 detects synthesised or degraded texture introduced by generative processing, upscaling, denoising, or aggressive noise reduction. Three defect classes are scored:
(a) synthesised texture: micro-texture statistically inconsistent with the adjacent surface of the same material, such as invented wood grain, fabricated grass blades, or plastic-looking fabric; (b) smeared detail: local loss of high-frequency content producing a painterly or watercolour rendering while comparable adjacent regions retain natural detail; (c) repeated tiles: near-identical patches with a side of at least 32 px at working scale, repeated two or more times at spatial offsets inconsistent with real material periodicity.
11.1.2 Applicability
ART-01 applies to every image and is never N/A.
11.1.3 Measurement
The full frame is evaluated. Runners SHOULD apply elevated scrutiny to the Grass, Greens, Wood, and Objects region classes, which are the most frequent failure surfaces for generative texture.
11.1.4 Scoring
The default severity mapping of 11.0.4 applies, with one refinement: repeated tiles with three or more repetitions of the same patch are severe irrespective of size class, because repetition is direct evidence of synthesis or cloning across a material surface.
11.2 ART-02 Ghosting
11.2.1 Definition
ART-02 detects merge and blend failures. Three defect classes are scored:
(a) HDR merge ghosts: semi-transparent duplicates of objects that moved between bracketed frames, typically ceiling fan blades, curtains, foliage, water, people, pets, and vehicles; (b) duplicated edges: double or offset contours along structural lines caused by misregistered exposure fusion or stacked edits; (c) semi-transparent objects: an object partially erased or blended such that background content is visible through what should be an opaque object.
11.2.2 Applicability
ART-02 applies to every image and is never N/A.
11.2.3 Scoring
The default severity mapping of 11.0.4 applies, with two refinements:
(a) any semi-transparent person or pet is severe irrespective of size or position; (b) duplicated edges confined to a single structural line and of small size class are minor even where the line passes through the focal region, provided the offset is slight at working scale.
11.3 ART-03 Cables
11.3.1 Definition
ART-03 assesses power lines, aerial service cables, and visible cords on two distinct failure surfaces:
(a) presence by policy: cables that the declared edit policy for the listing required to be removed remain visible; (b) bad removal: a cable was partially or poorly erased, leaving stubs at poles, eaves, or facades, smeared or cloned sky along the former cable path, or floating attachment hardware (insulators, brackets, drop clamps) with no cable attached.
11.3.2 Policy interaction
Presence is assessed against the declared edit policy for the listing, one of: removal required, removal prohibited, undeclared. Where the policy is removal prohibited (for example, listing rules that require permanent fixtures to be depicted), visible cables MUST NOT reduce the ART-03 score, and the runner MUST record their presence as evidence.
Bad removal is scored under every policy setting. A poorly erased cable is a defect regardless of whether erasure was permitted.
11.3.3 Applicability
ART-03 applies to every image. Images with no visible cables and no removal residue score 100 (subject to policy under 11.3.2).
11.3.4 Instance counting
All residue attributable to the erasure of one cable run (stubs at both ends, path smear, orphaned hardware) constitutes one instance.
11.3.5 Scoring
| Level | Definition |
|---|---|
| none | no policy violation and no removal residue |
| minor | a single residual stub shorter than 0.02 of the normalised long edge, not focal, with no path smear |
| moderate | a single partially erased run with visible path smear or cloning, or a single orphaned hardware element, or a policy-violating cable crossing sky only |
| severe | residue crossing the building facade or a focal region, floating hardware on the facade, two or more affected runs, or a policy-violating cable crossing the facade |
11.4 ART-04 Reflections
11.4.1 Definition
ART-04 assesses reflective surfaces (mirrors, glazing, screens, glossy joinery) on two defect classes:
(a) operator reflection: the camera, tripod, flash or lighting rig, or the photographer visible in a reflective surface; (b) impossible reflection: reflection content inconsistent with scene geometry or contents, typically produced by generative editing: a reflection showing objects absent from the room, an inserted object casting no reflection where the geometry requires one and the absence is visible in frame, or mirrored duplication artifacts from generative fill.
11.4.2 Applicability
ART-04 is N/A when no Reflective region meeting the minimum area published by Standard Vision Lab with the canonical runner is segmented.
11.4.3 Scoring
| Level | Definition |
|---|---|
| none | no operator reflection and no impossible reflection |
| minor | equipment only (no person), small, in a non-focal reflective surface |
| moderate | a recognisable person or full tripod in a non-focal surface, or a single impossible reflection in a non-focal surface |
| severe | operator clearly visible in a focal mirror or glazing, any impossible reflection in a focal surface, or two or more instances |
Where an inserted object's missing reflection is the observable defect, it is scored here; the plausibility of the object itself is scored under SEM-05 per 11.0.6.
11.5 ART-05 Sky artifacts
11.5.1 Definition
ART-05 detects sky replacement and sky enhancement failures. Four defect classes are scored:
(a) replacement seams: abrupt luma or chroma discontinuities along the skyline boundary inconsistent with atmospheric transition; (b) roofline halo: a bright or dark fringe band following the roofline or skyline; (c) cloned clouds: repetition of the same cloud structure at two or more positions within the Sky region; (d) sun direction: the sun position or illumination character implied by the sky is inconsistent with the dominant cast-shadow direction or illumination contrast of the scene (including a direct-sun sky over a scene whose shadows indicate overcast conditions, and the converse).
11.5.2 Applicability
ART-05 is N/A when no Sky region meeting the minimum area published by Standard Vision Lab with the canonical runner is segmented. The sun direction class is evaluable only when the image contains both distinct cast shadows and an unambiguous sun position cue; where either is absent, the runner MUST record the class as not evaluated, and the remaining classes still apply.
11.5.3 Scoring
The skyline is the boundary between the union of included Sky regions and all non-Sky content, measured as path length in normalised coordinates in the working image. Skyline extent is measured as a fraction of total skyline length in the working image. Sun direction disagreement is the angular difference between the implied sun azimuth and the dominant cast-shadow azimuth.
| Level | Definition |
|---|---|
| none | no seam, fringe, clone repetition, or appreciable sun direction disagreement |
| minor | a single small localised seam segment or faint fringe, or slight sun direction disagreement |
| moderate | seam or fringe extending over a substantial portion of skyline length, a single cloned-cloud pair, or clear sun direction disagreement |
| severe | seam or fringe extending over most of the skyline length, three or more repetitions of a cloud structure, gross sun direction disagreement, or any two defect classes present together |
11.6 ART-06 Window halos
11.6.1 Definition
ART-06 measures the glow or dark band around window frames produced by aggressive HDR tone mapping or window-pull masks feathered onto surrounding surfaces. Unlike the other parameters in this clause, ART-06 is a continuous metric scored through the breakpoint mapping.
11.6.2 Measurement
For each Windows region:
(a) the halo band comprises pixels outside the window region at a normalised boundary distance of 0.004 to 0.020 of the working long edge (6.4 px to 32 px at 1600 px); (b) the reference band comprises pixels at a distance of 0.020 to 0.040 (32 px to 64 px); (c) both bands exclude pixels belonging to the Windows, Sky, Reflective, and Objects region classes; (d) the per-window halo contrast is H = |mean Y(halo band) - mean Y(reference band)| in 8-bit luma levels.
The absolute difference is used because both bright glow and dark over-correction rings are defects; the symmetric-metric convention of the scoring model applies. A window is valid only if both bands contain at least the minimum pixel count published by Standard Vision Lab with the canonical runner. The parameter metric is the maximum H over all valid windows (worst window governs).
11.6.3 Applicability
ART-06 is N/A when no Windows region meeting the minimum area published by Standard Vision Lab with the canonical runner is segmented, or when no window yields valid measurement bands.
11.6.4 Breakpoints
Breakpoints for this parameter are published by Standard Vision Lab with the canonical runner.
11.7 ART-07 TV and screen treatment
11.7.1 Requirement
Every visible display panel (television, monitor, laptop, tablet, projector screen) MUST be either uniformly blacked or plausibly off. Screens MUST NOT show burned-in broadcast or streamed content, channel logos or interface menus, moire or interference patterns from photographing an active panel, or pasted or synthesised imagery applied to the screen area.
11.7.2 Compliant states
(a) uniformly blacked: the screen area is a near-uniform dark fill with no visible content structure; (b) plausibly off: a dark panel showing natural specular reflections of the actual room, consistent with glass. Such reflections are compliant here; operator visibility within them is assessed under ART-04.
11.7.3 Applicability
ART-07 is N/A when no display panel meeting the minimum area published by Standard Vision Lab with the canonical runner is detected.
11.7.4 Scoring
| Level | Definition |
|---|---|
| none | every screen is uniformly blacked or plausibly off |
| minor | a single small non-focal screen with imperfect blacking (visible mask edges, grey fill mismatch, or uneven fill) but no content |
| moderate | active content, logos, menus, or moire on a single small or medium non-focal screen |
| severe | content or moire on a focal or large screen, any pasted or synthesised imagery on any screen, or two or more non-compliant screens |
Any burned-in content, moire, or pasted imagery therefore scores at most 55 and carries FAIL status; the minor level (80, FLAG) is reserved for imperfect blacking without content. Pasted synthesised imagery is always severe irrespective of screen size or position, because it fabricates scene content; where the pasted content also misrepresents the property, SEM-05 applies additionally per 11.0.6.
12. Semantic plausibility parameters (SEM)
12.0 General
12.0.1 Purpose and veridicality
The semantic plausibility parameters assess whether the content of an image is physically and contextually credible. The normative content of this clause is limited to the testable checks SEM-01 to SEM-06, which assess internal plausibility as evaluated from the image data.
NOTE (informative). The rationale for this category is veridicality: an image should not misrepresent the physical property it depicts, whether by depicting objects or conditions that do not exist, by removing or altering features whose absence changes what a reasonable viewer would understand the property to be, or by rendering content in a way that is physically impossible. Fidelity to the actual property cannot be computed from the image data alone and is therefore not itself a normative requirement of this Specification. Publication of images that misrepresent a property may engage advertising and disclosure obligations under applicable consumer and real-estate law; this Specification does not provide legal advice and conformance with it does not discharge any such obligation.
The SEM parameters apply to all images within scope of this Specification regardless of production method. They do not prohibit AI generation, AI processing, or human editing; they constrain the result.
12.0.2 Assessment and evidence
SEM parameters are assessed on the working representation defined in 6.2. Human adjudication is permitted only within the SVL certification workflow and MUST be recorded in the result record; the automated path remains subject to the determinism requirement of this Specification. Runners MUST NOT be required to use any specific detection model; any method that meets the agreement tolerance conforms.
For every detected defect the runner MUST record: the parameter ID, the assigned severity level, a bounding region in normalised coordinates [x0, y0, x1, y1], and a short human-readable reason. Where no defect is detected for an applicable parameter, the runner MUST record the parameter with rubric level None.
A single defect MUST be attributed to exactly one SEM parameter, the most specific parameter that covers it. In particular, defects in virtually staged items (contact, shadow, occlusion, and scale of inserted furnishings) are scored under SEM-03 and MUST NOT additionally be scored under SEM-05 or SEM-06.
12.0.3 Scoring, severity, and focality
Except where a subclause states otherwise, SEM parameters are scored with the discrete rubric:
| Rubric level | General definition | Score | Status |
|---|---|---|---|
| None | No defect detected | 100 | PASS |
| Minor | A single small instance, not focal | 80 | FLAG |
| Moderate | A clearly visible instance, or a minor instance that is focal | 55 | FAIL |
| Severe or multiple | A physically impossible or misrepresentative instance, or more than one instance at Minor level or above | 20 | FAIL |
Each subclause defines Minor, Moderate, and Severe for its check; those definitions take precedence over the general definitions above.
A defect is focal when it meets the definition of focal in clause 4.
Because the discrete rubric quantises scores to four values, the per-parameter agreement tolerance of +/-2 points requires that two conforming runners assign the same rubric level to the same image; a difference in assigned level is a reproducibility failure for that parameter.
12.0.4 Non-applicability
A SEM parameter whose subject matter is absent from the image (see the Applicability provision of each subclause) MUST be recorded as N/A, excluded from aggregation, with remaining weights renormalised as defined in 14.3.
12.1 SEM-01 Fire realism
Requirement. Where a fireplace, fire pit, or similar combustion feature is depicted lit, the depicted fire MUST be physically plausible. Flames MUST be anchored to a visible fuel bed or burner, flame and ember luminance MUST be consistent with the illumination the fire contributes to surrounding surfaces, and the fire MUST NOT alter or occlude the structure of the fireplace in a physically impossible way. Fire added by image synthesis MUST NOT change the fireplace geometry, surround, or hearth.
Applicability. N/A when no fireplace, fire pit, or comparable combustion feature is visible in the image. A visible but unlit feature with no fire content is applicable and, absent defects, scores None.
Assessment. The runner evaluates flame anchoring, flame shape and colour plausibility, glow and reflection interaction with adjacent surfaces (including Reflective regions), and structural integrity of the combustion feature.
Severity.
| Level | Definition for SEM-01 |
|---|---|
| Minor | A single subtle implausibility in flame shape, colour, or ember detail, not focal (for example slightly oversaturated flame colour) |
| Moderate | Clearly synthetic flame appearance (uniform or repeated flame texture, absent glow on immediately adjacent surfaces) or flame luminance inconsistent with scene illumination |
| Severe | Physically impossible fire: flames detached from any fuel bed, fire inserted into a feature incapable of containing it, fire whose glow or reflection is absent from adjacent reflective surfaces where it must appear, or alteration of fireplace structure; or multiple instances |
Scoring. Discrete rubric per 12.0.3.
12.2 SEM-02 Pool equipment
Requirement. Temporary pool maintenance equipment (robotic or suction cleaners, floating hoses, leaf nets, non-fixed covers) SHOULD NOT be depicted in listing imagery. Where such equipment is digitally removed, removal MUST be complete and MUST NOT leave residual artifacts (remnant hose segments, orphaned shadows, cloned or repeated water texture). Safety-relevant and permanent features, including pool fencing, gates, fixed covers, ladders, and rails, MUST NOT be digitally removed or altered.
Applicability. N/A when no swimming pool or spa is visible in the image.
Assessment. The runner evaluates the pool water surface and surrounds for residual removal artifacts, texture cloning, and geometric consistency of the water surface, and evaluates the presence and integrity of safety-relevant features.
Severity.
| Level | Definition for SEM-02 |
|---|---|
| Minor | A single small residual trace of removed equipment, not focal (for example a short remnant hose segment or faint orphaned shadow) |
| Moderate | Clearly visible incomplete removal, or cloned or repeated water texture over a contiguous area |
| Severe | Removal or alteration of a safety-relevant permanent feature, or a fabricated water surface inconsistent with the pool geometry; or multiple instances |
Scoring. Discrete rubric per 12.0.3.
12.3 SEM-03 Staging plausibility
Requirement. Virtually staged furnishings and decor MUST be plausible within the scene. Inserted items MUST rest in contact with their supporting surfaces and MUST NOT float above them or intersect floors, walls, or other objects. Cast shadows of inserted items MUST be consistent in direction, softness, and density with the scene illumination. Inserted items MUST be rendered at a scale consistent with the architecture, MUST observe correct occlusion order with real scene elements, and MUST appear in reflective surfaces (mirrors, glass, polished floors) in which their reflection would necessarily be visible.
Applicability. SEM-03 is always applicable. It is scored on detected insertion defects (contact, shadow, occlusion, scale); where no staged item is detected, the rubric level is None (100). Applicability is not gated by any declaration of virtual staging.
Assessment. The runner evaluates surface contact and contact shadows, shadow geometry against scene illumination, occlusion order, perspective consistency of inserted items, item scale against architectural references, and reflection consistency in Reflective regions.
Severity.
| Level | Definition for SEM-03 |
|---|---|
| Minor | One inserted item with a subtly weak contact shadow or a slight perspective or scale mismatch, not focal |
| Moderate | Visible floating, a missing contact shadow, incorrect occlusion, or a clear perspective or scale mismatch on one prominent item |
| Severe | Items intersecting architecture or other objects, shadows contradicting the scene light direction, inserted items absent from reflective surfaces in which they must appear; or multiple defective items |
Scoring. Discrete rubric per 12.0.3.
12.4 SEM-04 Room class
Requirement. The content of the image MUST be consistent with the room class declared for the image. An image declared as a given room class MUST depict a space of that class as its primary subject.
Applicability. N/A when no room class is declared for the image.
Assessment. The runner classifies the depicted space and compares the classification with the declared room class. Open-plan and multi-function spaces are assessed against whether the declared class is a reasonable primary description of the frame content.
Severity.
| Level | Definition for SEM-04 |
|---|---|
| Minor | The declared class is present in the frame but is a secondary subject (for example an open-plan frame declared as Kitchen in which the kitchen occupies a minor portion of the frame) |
| Moderate | The frame content only weakly supports the declared class and a different class is the more reasonable description |
| Severe | The frame content contradicts the declared class |
Scoring. Discrete rubric per 12.0.3. The Severe level applies without a multiplicity condition; each image carries a single declaration.
12.5 SEM-05 Object plausibility
Requirement. The image MUST NOT contain physically impossible or structurally deformed objects. Functional elements, including door handles, hinges, taps, power points, light switches, and appliance controls, MUST be structurally coherent and correctly attached. Text visible in the image (signage, labels, book spines, screens where treated as content) MUST be either coherent or naturally illegible due to distance or resolution; glyph-like garbled text is a defect. Repeating patterns and structures (tiling, balustrades, cabinetry) MUST continue plausibly and MUST NOT exhibit impossible merges or duplications.
Applicability. Always applicable.
Assessment. The runner evaluates Objects regions and the frame generally for deformation, duplication, impossible attachment or geometry, garbled text, and implausible pattern continuation. Defects attributable to virtually staged items are scored under SEM-03 per 12.0.2.
Severity.
| Level | Definition for SEM-05 |
|---|---|
| Minor | A single small deformation on a non-functional element, not focal (for example a slightly warped pattern on soft furnishing) |
| Moderate | A clearly deformed functional element (tap, handle, hinge, switch) or garbled text at a legible scale, single instance |
| Severe | Physically impossible geometry (stairs that do not connect, doors without frames, objects merged into surfaces), a deformed focal element; or multiple instances |
Scoring. Discrete rubric per 12.0.3.
12.6 SEM-06 Scale consistency
Requirement. Objects in the image MUST be sized consistently with the architecture and with one another. Apparent ceiling heights, door heights, benchtop heights, stair riser heights, and furniture proportions MUST be mutually consistent. The image MUST NOT exaggerate apparent room volume through inconsistent object scale, including systematic undersizing of furnishings relative to the architecture.
Applicability. N/A when the image contains no reference objects permitting scale assessment (for example bare land or sky-only frames).
Assessment. The runner estimates a scene scale from architectural reference objects with well-constrained real-world dimensions (door leaves, benchtops, stair risers, standard fittings) and evaluates the consistency of other object sizes against that scale. The specific reference set is implementation-defined; any reference set meeting the reproducibility target conforms. Scale defects on virtually staged items are scored under SEM-03 per 12.0.2.
Severity.
| Level | Definition for SEM-06 |
|---|---|
| Minor | A single item whose apparent size deviates modestly from the consistent scene scale, not focal |
| Moderate | A clearly undersized or oversized furnishing, or an inconsistent door-to-ceiling relationship |
| Severe | A gross scale contradiction, or systematic miniaturisation or enlargement of furnishings across the scene; or multiple instances |
Scoring. Discrete rubric per 12.0.3.
13. Set consistency (SET)
13.1 Rationale and applicability
A real-estate listing is published and consumed as a set of images. Prospective buyers view the frames of a listing side by side and in rapid sequence, and they compare frames directly: room against room, interior against exterior, wide shot against detail. Under these viewing conditions, variation between frames is perceptible even when every individual frame is acceptable in isolation. A set in which brightness, white balance, or saturation shifts from frame to frame reads as unreliable, and the shift itself invites doubt about which frame represents the property truthfully.
Inconsistency across a set is therefore treated by this specification as a defect in its own right, distinct from the per-image parameters of clauses covering Exposure, White balance, Colour, Geometry, Artifacts, and Semantic checks. An image set MAY contain no image that individually FAILs and still exhibit a set-level defect.
The SET section applies only to submissions declared as sets at submission time. A set MUST contain two or more images. For a single-image submission, SET MUST be recorded as N/A, MUST NOT be scored, and MUST NOT contribute to any aggregate. Declaring a submission as a set is the submitter's act; a runner MUST NOT infer set membership from filenames, capture times, or content similarity.
13.2 Per-image statistics
For each image in a declared set, a conforming runner MUST compute the statistics S1 to S9 defined in Table 13.1. All statistics are computed on the working representations defined in the measurement conventions of this specification: the image decoded honouring any embedded ICC profile (otherwise assumed sRGB per IEC 61966-2-1), resampled so the longest edge is 1600 px (Lanczos), with 8-bit luma Y computed per Rec. 709 weights and chromatic values computed in CIELAB (D65). "a" and "b" refer to the CIELAB a* and b* axes.
Table 13.1: Per-image set statistics
| ID | Statistic | Definition | Units |
|---|---|---|---|
| S1 | Brightness | Arithmetic mean of Y over all pixels | 8-bit code values (0 to 255) |
| S2 | White balance a | Arithmetic mean of a* over all pixels | CIELAB a* |
| S3 | White balance b | Arithmetic mean of b* over all pixels | CIELAB b* |
| S4 | Cast a | Arithmetic mean of a* over near-neutral pixels (13.2.1) | CIELAB a* |
| S5 | Cast b | Arithmetic mean of b* over near-neutral pixels (13.2.1) | CIELAB b* |
| S6 | Contrast | Standard deviation of Y over all pixels | 8-bit code values |
| S7 | Saturation | Arithmetic mean of per-pixel chroma Cab, where Cab = sqrt(a*^2 + b*^2) | CIELAB chroma |
| S8 | Window WB a | Arithmetic mean of a* over the union of Window WB regions | CIELAB a* |
| S9 | Window WB b | Arithmetic mean of b* over the union of Window WB regions | CIELAB b* |
S7 is the mean of per-pixel chroma. It is not the chroma of the mean a* and b* values; the two differ whenever chromatic content is mixed, and only the former measures rendered saturation.
S2 and S3 are computed image-wide and therefore reflect both illuminant rendering and scene content. S4 and S5 are computed over near-neutral pixels only and therefore isolate residual cast on surfaces that should render neutral.
13.2.1 Near-neutral pixels
A pixel is near-neutral when its chroma Cab and lightness L fall within the near-neutral bounds published by Standard Vision Lab with the canonical runner. The lightness bounds exclude deep shadow and near-clipped pixels, whose chromatic values are unstable. S4 and S5 are undefined for an image whose near-neutral pixels fall below the minimum coverage published by Standard Vision Lab with the canonical runner.
13.2.2 Undefined statistics
S8 and S9 are undefined for an image containing no Window WB regions. An undefined statistic MUST be recorded as N/A for that image and MUST be excluded from every grouping computation for that statistic (13.4).
13.3 Groupings
Sigma metrics are computed over groupings of the set. A conforming runner MUST compute the following standard groupings:
- Global: all images in the set.
- All Interiors: all images whose room class is an interior class.
- All Exteriors: all images whose room class is an exterior class.
- Per room class: one grouping for each room class present in the set.
- Twilight: all images carrying the twilight modifier flag (Annex B.4.2).
Room class is the class assigned under 6.5 (Annex B taxonomy). The mapping of room classes to interior or exterior MUST follow the room-class taxonomy annex.
Images assigned the Detail class (Annex B.4.1) MUST be excluded from all set-consistency statistics and are not members of any standard grouping. Twilight-flagged images form the Twilight standard grouping and MUST be excluded from the statistics of their parent groupings for brightness and white balance. The Detail exclusion and the Twilight grouping are derived by the runner from the classification and flags assigned under 6.5; as standard groupings they are exempt from the prohibition on inferring membership, which applies to declared sub-sets only.
In addition, the submitter MAY declare named sub-sets at submission time (for example Drone, Unit A). Each declared sub-set is a grouping. Declared sub-set membership MUST be explicit (an enumerated list of image identifiers); a runner MUST NOT infer membership. Declared sub-sets MAY overlap each other and the standard groupings.
The minimum grouping size is 2. A grouping with fewer than two member images MUST be recorded as N/A with reason code GROUP_TOO_SMALL and MUST be excluded from aggregation. Within a grouping, a given statistic is computed only over member images for which that statistic is defined; if fewer than two such images exist, the corresponding metric MUST be recorded as N/A with reason code STATISTIC_UNDEFINED.
13.4 Metrics
For each grouping and each statistic S1 to S9, the set consistency metric is sigma, the population standard deviation (divisor n) of the per-image statistic values over the contributing images of the grouping. The population form is specified because the declared set is the complete population of interest, not a sample from a larger one.
Sigma MUST be computed at full precision and reported rounded half up to one decimal place, in the units of the underlying statistic. Scoring (13.5) MUST be applied to the unrounded value; the one-decimal form is for reporting only.
No correction for group size is applied in v1.0; sigma estimated from small groupings is itself a noisy quantity.
In addition to sigma, for each grouping and each statistic a conforming runner MUST report the grouping mean mu and, for each contributing image, a per-image z-score: the image's statistic value minus mu, divided by sigma CALIBRATED: SVL production QA, June 2026. An image is attributed as an outlier for a statistic within a grouping when the absolute value of its z-score exceeds the outlier threshold published by Standard Vision Lab with the canonical runner. Outlier attribution identifies which member images drive a grouping's inconsistency and parallels the white balance outlier attribution of 8.6; it does not alter the sigma metric or its score. Two conforming runners scoring the same set MUST agree within the SET-score agreement tolerance published by Standard Vision Lab with the canonical runner.
13.5 Scoring
13.5.1 Breakpoint mapping
Each sigma metric is mapped to a parameter-style score (integer 0 to 100) using the piecewise-linear breakpoint mapping of this specification. Sigma is a lower-is-better metric: values at or below m100 score 100; the score interpolates linearly to 90 at m90, to 70 at m70, and to 0 at m0; values above m0 score 0; the result is clipped to [0, 100] and rounded half up. Status bands are those of the general scoring model: PASS (90 to 100), FLAG (70 to 89), FAIL (69 or below).
Sigma breakpoints for each statistic S1 to S9 are published by Standard Vision Lab with the canonical runner.
13.6 Set score and status
13.6.1 Grouping score
For each grouping, the grouping score is the weighted mean of the applicable metric scores (S1 to S9) within that grouping, with metric weights published by Standard Vision Lab with the canonical runner. Metrics recorded as N/A are excluded and the remaining weights renormalised. The grouping score is rounded half up to an integer, and the grouping status is derived from the grouping score using the standard bands (PASS 90 to 100, FLAG 70 to 89, FAIL 69 or below).
13.6.2 SET score
The SET score is the weighted mean of the grouping scores over the standard groupings only, with grouping weights published by Standard Vision Lab with the canonical runner. Declared sub-sets are reported (13.7) but excluded from the SET score, so that the score cannot be influenced by the submitter's choice of sub-set declarations. Groupings recorded as N/A are excluded and the remaining weights renormalised. The SET score is rounded half up to an integer 0 to 100.
13.6.3 SET status
The SET status is determined by the worst-grouping rule: it is the worst status among the statuses of all scored standard groupings. A set whose Global grouping passes but whose All Exteriors grouping fails therefore records SET status FAIL. A single metric FAIL within one grouping does not by itself collapse the SET score, but every metric FAIL MUST be recorded in the result record, mirroring the composite rule of the general scoring model.
13.6.4 Relationship to the composite
The SET score is a set-level result. It does not enter any per-image composite, and per-image composites do not enter the SET score. The contribution of the SET score and status to the certification decision for a set is published by Standard Vision Lab with the canonical runner.
13.7 Reporting requirements
For every submission declared as a set, the result record MUST include:
- The Specification version identifier of clause 5 under which SET was scored.
- The set identifier and the count of images in the set.
- A grouping table listing every grouping evaluated: grouping identifier, type (Global, All Interiors, All Exteriors, room class, declared sub-set), explicit membership (image identifiers), and size.
- For every grouping and every statistic S1 to S9: the sigma value to one decimal place, the metric score, and the metric status; or N/A with a reason code (GROUP_TOO_SMALL, STATISTIC_UNDEFINED).
- Each grouping score and grouping status, with a record of any weight renormalisation applied.
- The SET score and SET status, the identity of the worst grouping, and the identity of the worst metric within that grouping.
- Every metric FAIL, listed individually.
- The definitions of all declared sub-sets, echoed verbatim as submitted.
A conforming runner SHOULD additionally include the per-image values of S1 to S9 for every image in the set, as evidence sufficient for independent recomputation of every sigma value in the record.
Every N/A entry in the record MUST carry a reason code. For a single-image submission, the record MUST contain a SET entry of N/A with reason code NOT_A_SET and no other SET content.
A runner MUST NOT report a SET score or status for a submission not declared as a set.
14. Scoring and aggregation
14.1 Parameter scores
Every applicable parameter yields a parameter score, an integer in the range 0 to 100 inclusive. A parameter score MUST be produced by exactly one of the two mechanisms defined in 14.1.1 and 14.1.2, as designated by the parameter's definition. Runners MUST NOT introduce additional scoring mechanisms.
14.1.1 Continuous metrics: breakpoint mapping
A parameter scored on a continuous metric publishes, in its definition: the measurand, its unit, its direction of merit, and four breakpoints designated m100, m90, m70 and m0. Breakpoint values are published by Standard Vision Lab with the canonical runner.
For symmetric metrics (metrics defined as deviation to either side of an ideal value), the mapping input MUST be the absolute deviation from the ideal, and the breakpoints are expressed on that absolute deviation.
Breakpoints MUST be monotone in the direction of degradation: m100 MUST be no worse than m90, m90 no worse than m70, and m70 no worse than m0, under the parameter's published direction of merit.
Let d denote the measured metric expressed so that a larger value of d indicates greater degradation (for symmetric metrics, d is the absolute deviation), and let d100, d90, d70, d0 denote the breakpoints expressed on the same scale, with d100 <= d90 <= d70 <= d0. The unrounded score s(d) MUST be computed as:
s(d) = 100 if d <= d100
s(d) = 100 - 10 * (d - d100) / (d90 - d100) if d100 < d <= d90
s(d) = 90 - 20 * (d - d90) / (d70 - d90) if d90 < d <= d70
s(d) = 70 - 70 * (d - d70) / (d0 - d70) if d70 < d <= d0
s(d) = 0 if d > d0
Adjacent breakpoints MAY be equal; where two adjacent breakpoints coincide, the mapping MUST assign the higher score at the shared value. The result MUST be clipped to the interval [0, 100] and then rounded half up to the nearest integer (a fractional part of exactly 0.5 rounds to the next higher integer). The rounded integer is the parameter score.
14.1.2 Discrete checks: severity rubric
A parameter scored as a discrete or count-based check MUST be scored on the following rubric:
| Finding | Parameter score |
|---|---|
| None | 100 |
| Minor (a single small instance, not focal) | 80 |
| Moderate | 55 |
| Severe, or multiple instances | 20 |
The parameter's definition specifies what constitutes minor, moderate and severe for that check. Runners MUST NOT interpolate between rubric levels and MUST NOT emit discrete-check scores other than 100, 80, 55 or 20.
14.2 Statuses and bands
Every parameter score maps to exactly one status:
| Status | Score range |
|---|---|
| PASS | 90 to 100 |
| FLAG | 70 to 89 |
| FAIL | 0 to 69 |
The same bands MUST be applied to derive a status for each category score (14.4) and for the composite (14.5), using the reported (rounded) value in each case. Under the discrete rubric of 14.1.2, a finding of None yields PASS, Minor yields FLAG, and Moderate or Severe yields FAIL.
A single parameter FAIL does not collapse the composite. Every parameter FAIL MUST be recorded in the result record (Clause 15) regardless of the composite value.
NOTE. Composite bands align with the certification tiers defined in 16.4: Platinum (100), Certified (90 to 99), Provisional (70 to 89), no badge below 70.
14.3 N/A exclusion and weight renormalisation
A parameter that does not apply to an image (for example, a window parameter where the image contains no windows, or a pool parameter where no pool is present) MUST be recorded as N/A with a stated reason, MUST be excluded from all aggregation, and MUST NOT be assigned a numeric score.
A runner MUST determine N/A from the absence of the parameter's required region class or scene feature, not from difficulty of measurement. N/A MUST NOT be used to avoid scoring a feature that is present but degraded.
Let P_c be the set of parameters in category c, A_c the subset of P_c applicable to the image, v_p the within-category weight of parameter p, and x_p its parameter score. Weight renormalisation is implicit in the category formula:
S_c = ( sum over p in A_c of v_p * x_p ) / ( sum over p in A_c of v_p )
If A_c is empty, category c is itself N/A, is excluded from the composite, and the category weights are renormalised in the same manner (14.5).
14.4 Category scores
Within-category parameter weights are published by Standard Vision Lab with the canonical runner. The category score is the weighted mean of the applicable parameter scores under those weights, computed per the formula in 14.3.
Category scores MUST be computed at full precision, and MUST be reported rounded half up to one decimal place. The reported 1-decimal value MUST be carried forward into the composite computation (6.6).
14.5 Composite
The composite is the weighted mean of the reported 1-decimal category scores of the applicable categories, out of 100. Let A be the set of applicable (non-N/A) categories, W_c the category weight, and S_c the reported 1-decimal category score (14.4):
X = ( sum over c in A of W_c * S_c ) / ( sum over c in A of W_c )
The composite MUST be reported rounded half up to the nearest integer. Category weights are published by Standard Vision Lab with the canonical runner.
14.6 Set score relationship
Set consistency metrics (the sigma statistics defined in clause 13) are properties of a listing set, not of any single image. When an image is scored as part of a set, the set block MUST be reported alongside the per-image result. Set metrics and set statuses MUST NOT be blended into, averaged with, or otherwise modify the per-image composite. A per-image composite computed inside a set MUST be identical to the composite the same runner would produce for the same image file scored alone.
14.7 Determinism and tolerance
A conforming runner MUST be deterministic: scoring the same image file repeatedly with the same runner version against the same Specification version MUST yield identical parameter scores, category scores, statuses and composite. Runners incorporating machine-learned components MUST fix all sources of nondeterminism (seeds, thread ordering, hardware-dependent kernels) or bound them such that reported scores are unchanged. This Specification does not mandate any particular model, method or implementation; any runner meeting this clause conforms.
Two independent conforming runners scoring the same image MUST agree within the inter-runner agreement tolerance published by Standard Vision Lab with the canonical runner, evaluated over the SVL conformance image set. Arithmetic SHOULD be performed in IEEE 754 binary64. Where scores near a band edge cause two conforming runners to report different statuses while remaining within tolerance, the canonical runner operated by SVL is authoritative for certification purposes.
15. Result record
15.1 Requirements
A conforming runner MUST emit, for every image scored, a result record that is machine-readable JSON conforming to RFC 8259, encoded in UTF-8. All numeric values MUST be finite. The result record MUST include:
- the Specification version the image was scored under, cited in the version identifier format of clause 5 (for example "VQS v1.0"), which fixes the parameter set version per clause 5;
- the runner identifier and runner version;
- an image identifier and the SHA-256 digest of the submitted encoded image file (the file bytes as received, not the working representation), as 64 lowercase hexadecimal characters;
- one record per applicable parameter containing: the parameter ID, the measured metric value with its unit (for discrete checks, the finding level), the parameter score, the parameter status, and the regions used (region class and normalised [0,1] coordinates);
- every category score with its status and the weight applied after any renormalisation, so that the record is self-describing;
- the composite and its status;
- the list of N/A parameters, each with a stated reason;
- the set block, when the image was scored as part of a set (set identifier, image count, and each set statistic with scope, sigma value and status);
- a timestamp of scoring completion in ISO 8601 format with an explicit UTC offset; UTC ("Z") is RECOMMENDED.
Identifiers for images and sets SHOULD be opaque strings assigned by the submitter or the runner.
15.2 Integrity
The result record MUST carry a record hash: the SHA-256 digest, as 64 lowercase hexadecimal characters, of the canonical serialisation of the record with the record hash member itself excluded. The canonical serialisation scheme is published by Standard Vision Lab with the canonical runner. A verifier MUST be able to recompute the record hash from the record alone; any mismatch invalidates the record for certification purposes. Records MUST NOT be altered after the record hash is computed; a re-score produces a new record with a new hash.
15.3 Privacy
A result record MUST NOT contain personal data beyond what is visible in the image itself. In particular the record MUST NOT embed the image or any derivative from which the image is recoverable; region evidence is limited to class labels, coordinates and confidences. The record MUST NOT contain location information beyond what the submitter has explicitly declared; geolocation metadata embedded in the submitted file (for example EXIF GPS fields) MUST NOT be copied into the record absent such a declaration. Runner operators MUST NOT enrich result records with data about persons, properties or submitters obtained from other sources.
16. Certification and the canonical runner
16.1 Roles
This Specification is open. Any runner that meets the conformance requirements of this Specification, including the inter-runner agreement tolerance of 14.7, is a conforming runner. Scores produced by a conforming runner other than the canonical runner are advisory scores. Advisory scores MAY be used for internal quality assurance, procurement, tooling, and editorial workflows, and MAY be published, provided they are not represented as certification.
Standard Vision Lab (SVL) operates the canonical runner. Only scores produced by the canonical runner are certification-grade. Certification-grade scores are the sole basis for issuing, maintaining, and revoking certification and for use of the certification mark (clause 17). A vendor MUST NOT represent an advisory score as a certified score, and MUST NOT display the certification mark on the basis of an advisory score.
The canonical runner MUST itself be a conforming runner. Each certification-grade score MUST record the Specification version and the canonical runner build identifier under which it was produced.
16.2 Image certification and pipeline certification
Two objects of certification are defined.
Image certification applies to a single still image. The image is scored by the canonical runner and receives a badge tier from its composite score under 16.4. The certification record MUST bind the certificate to the image by a SHA-256 digest of the certified image file. Any alteration of the encoded image data invalidates the certificate for the altered file; the original file remains certified.
Pipeline certification applies to a defined production pipeline: a capture, editing, AI-processing, or AI-generation workflow, identified by the applicant with a name and version. Pipeline certification attests to the statistical performance of the pipeline on an SVL-selected input set under the protocol in 16.3. A pipeline certificate covers only the pipeline version tested. A material change to the pipeline (model replacement, retraining, a change of editing workflow, or any change the applicant would reasonably expect to alter output quality) voids coverage for output produced after the change until re-testing under 16.6.
Image certification does not imply pipeline certification, and pipeline certification does not certify any individual image.
16.3 Pipeline certification protocol
Pipeline certification MUST follow this protocol.
- Declaration. The applicant MUST identify the pipeline, its version, and the degree of manual per-image intervention that is normal in production. The tested configuration MUST match the declared production configuration.
- Input set selection. SVL selects the input set. The applicant MUST NOT select, filter, or preview the input set before processing. The minimum input set size is published by Standard Vision Lab with the canonical runner. The input set MUST be stratified across room classes and capture conditions. It MUST include interior and exterior scenes, daylight and dusk capture, mixed and natural lighting, and a range of distinct room classes, and SHOULD include at least one complete listing set so that set-consistency statistics (per clause 13) can be computed.
- Processing. The applicant processes the input set through the pipeline using no more manual per-image intervention than declared in step 1. SVL MAY require processing to be logged or observed and MAY impose a submission window. Substituting outputs from any source other than the declared pipeline is fraud under 16.7.
- Scoring. The canonical runner scores every returned output image under the current Specification version. N/A parameters are excluded and weights renormalised per 14.3. The treatment of an input image for which the pipeline fails to return an output is published by Standard Vision Lab with the canonical runner.
- Aggregation. SVL computes: the mean composite across all input images, reported to one decimal place; the minimum per-image composite; per-category means; and set-consistency sigma statistics for any listing sets in the input set. All of these MUST appear in the certification record.
16.4 Certification thresholds
Per-image composite scores are integers (rounding half up, per clause 14). The pipeline mean composite is computed on the recorded per-image composites and reported to one decimal place.
Image certification tiers:
| Tier | Composite score |
|---|---|
| Platinum | 100 |
| Certified | 90 to 99 |
| Provisional | 70 to 89 |
| No badge | 69 or below |
Pipeline certification tiers. Pipeline certification uses the same three tiers. Each tier is defined by a mean-composite condition and a per-image floor condition; the mean and floor thresholds for each tier are published by Standard Vision Lab with the canonical runner.
Each tier's mean condition is a lower bound only. A pipeline is certified at the highest tier for which both the mean condition and the floor condition are met; a pipeline that meets the mean condition of a tier but fails its floor condition is certified at the highest lower tier whose mean and floor conditions are both met. An image with a composite below 70 under image certification is not certifiable and no badge is issued.
A single parameter FAIL within an otherwise passing image does not by itself prevent certification, but it MUST be recorded in the result record and is visible at the certification record URL.
16.5 Validity and continuous monitoring
A certificate is valid for a fixed period from the date of issue, published by Standard Vision Lab with the canonical runner, subject to continuous monitoring and to the revocation triggers in 16.7.
For pipeline certificates, SVL MAY sample production output published under the mark and score it with the canonical runner. Sampling rates and the monitoring window are published by Standard Vision Lab with the canonical runner. If the monitored mean composite over the monitoring window falls below the mean threshold of the certified tier, SVL MUST open a tier review under 16.7.
For image certificates, the live badge (17.2) reflects the current certification-grade score for the certified file; re-scoring under the same Specification version MUST NOT change a recorded score except to correct a defect in the canonical runner, in which case the correction MUST be noted in the certification record.
16.6 Re-testing and appeals
Re-testing under the full protocol of 16.3 is required: on certificate expiry; after a material pipeline change under 16.2; and as a condition of reinstatement after revocation. A fresh input set MUST be selected for each re-test.
An applicant or certificate holder MAY appeal a scoring or certification decision. An appeal MUST be lodged in writing within the appeal period published by Standard Vision Lab with the canonical runner. On appeal, SVL MUST provide the complete result record, including per-parameter scores, statuses, region evidence, and the runner build identifier, and MUST re-score the disputed images with the canonical runner under the same Specification version. The appellant MAY submit advisory scores from an independent conforming runner as evidence; a discrepancy beyond the inter-runner agreement tolerance is grounds for review of the canonical runner output.
16.7 Revocation
SVL MUST revoke or downgrade a certificate on any of the following triggers:
- monitored performance below the certified tier under 16.5, sustained after review;
- misuse of the certification mark contrary to clause 17, not cured after notice;
- a material pipeline change that was not disclosed before continued use of the mark;
- fraud or misrepresentation in the application or testing process, including substitution of outputs, undeclared manual intervention on test outputs, or falsified declarations;
- breach of the certification agreement (17.6), including non-payment;
- persistent violation of the live-embed requirements of 17.2 after notice.
A tier review is triggered by a monitoring shortfall under 16.5 or by a substantiated complaint. SVL MUST complete a tier review within the review period published by Standard Vision Lab with the canonical runner. The outcomes of a tier review are: confirmation of the certified tier, downgrade by one tier, or revocation of the certificate. The certificate holder MUST be notified of the outcome together with the supporting evidence, and MAY appeal within the appeal period of 16.6.
Except in cases of fraud or misrepresentation, SVL MUST give written notice and a cure period before revocation takes effect. Revocation for fraud takes effect immediately. On revocation, the certification record at the certification URL MUST be updated to show revoked status and the effective date; the record itself MUST NOT be deleted. Clause 17.5 governs removal of the mark. Scores already published remain valid as historical records against the Specification version under which they were produced.
17. The certification mark
17.1 Badge tiers and forms
The certification mark exists in three tiers: Platinum, Certified, and Provisional, corresponding to 16.4. The mark is published in four forms, with artwork, clear-space, and colour definitions supplied in the SVL brand kit:
| Form | Description | Intended context |
|---|---|---|
| Horizontal | full lockup with tier, score, and wordmark | listing pages, vendor websites |
| Seal | circular tier emblem with score | image overlays, print |
| Chip | compact rectangular tier and score element | search results, cards, dashboards |
| Wordmark | text-only mark | body copy, plain-text contexts |
Every badge instance MUST display the tier and the current composite score, and MUST identify or link to the Specification version under which certification was granted. Only artwork from the SVL brand kit MAY be used.
17.2 Live embed requirements
The primary form of display on the web is the live embed. A live embed:
- MUST retrieve the current score from SVL at page render, over HTTPS;
- MUST NOT cache a retrieved score for longer than 24 hours; caching beyond 24 hours forfeits the badge;
- MUST link to
standardvisionlab.com/cert/[ID], where [ID] is the certificate identifier, and the link MUST NOT be removed, intercepted, or redirected; - MUST render at a width of no less than 80 px;
- MUST preserve the badge aspect ratio and MUST NOT be cropped, masked, or partially obscured;
- MUST, when the current score cannot be retrieved and no cached value under 24 hours old exists, render a neutral unavailable state rather than a stale score.
Because the embed pulls the current score at render, a downgraded or revoked certificate is reflected automatically; this does not relieve the holder of the removal obligation in 17.5.
17.3 Static fallback
In contexts where a live embed is technically infeasible (email, PDF, print), a static badge instance MAY be used. A static instance MUST display the score as at the date of generation together with that date, and MUST carry the certification record URL standardvisionlab.com/cert/[ID] in human-readable form. A static instance MUST NOT be used on a web page where a live embed is feasible. A static instance generated while a certificate was valid MAY continue to exist in material already distributed, but new distribution MUST cease upon loss of certification (17.5).
17.4 Prohibited uses
The following are prohibited in all contexts. The mark MUST NOT be:
- modified in geometry, proportion, or typography;
- recoloured or displayed in colours other than those defined in the SVL brand kit;
- displayed with the score or tier removed, altered, or obscured;
- combined with any other mark, logo, or certification symbol into a composite lockup;
- used to state or imply certification of any image, listing, or pipeline that is not covered by a valid certificate;
- displayed below the 80 px minimum width, animated, distorted, or used as a repeating pattern or background element.
Use of the tier names "VQS Platinum", "VQS Certified", or "VQS Provisional" in text to describe an uncertified image or pipeline is a prohibited use of the mark.
17.5 Removal on loss of certification
On expiry, revocation, or downgrade of a certificate, the former holder MUST remove the mark (all forms, live and static) from all properties within 30 days, including websites, listing portals, templates, sales material, and email signatures. Where the badge tier has changed rather than lapsed, all displayed instances MUST reflect the current tier within the same period. SVL ceases serving live embed content for a revoked certificate; continued display of any locally rendered or cached badge beyond the 30-day period is a prohibited use under 17.4 and a revocation trigger for any remaining certificates held by the same party.
17.6 Trademark and certification agreement
The certification mark, in all forms and tiers, is a trademark of Standard Vision Lab. No right to use the mark is granted by this Specification, by implementing a runner, or by producing advisory scores. The mark is usable only under an executed certification agreement with SVL and only while the corresponding certificate is valid. The licence applying to the text of this Specification (18.4) does not extend to the mark.
18. Governance, calibration, and licensing
18.1 Stewardship
SVL publishes and maintains this Specification, operates the canonical runner, and issues certification. The methodology MUST be public: parameter definitions, breakpoint mappings, the discrete rubric, category weights, aggregation rules, and set-consistency statistics are published in this Specification, and changes are made only through published versions. Certification-grade scores are public and versioned: every certification record at standardvisionlab.com/cert/[ID] MUST state the Specification version and canonical runner build under which each score was produced. A score remains valid against the version under which it was scored; publication of a new version does not invalidate or restate existing scores.
The parameter set is versioned with the Specification. A change to the parameter set (addition, removal, or redefinition of a parameter) produces a new Specification version. The parameter count is not part of the identity of the standard and MUST NOT be used in its name.
18.2 Threshold calibration
Numeric thresholds in this Specification, including breakpoint values, sigma thresholds, and certification thresholds, are grounded in the SVL production QA configuration and its accepted-output corpus. Values tagged CALIBRATED: SVL production QA, June 2026 are taken from that configuration and corpus (June 2026). Threshold tables are published and versioned with the canonical runner.
A recalibration that adjusts thresholds within an unchanged parameter set produces a MINOR version of this Specification. Recalibrated thresholds apply only to scores produced under the new version; scores produced under prior versions remain valid against those versions. Each recalibration MUST be published with a change log stating every threshold changed and its previous value.
18.3 Independence and disclosure
SVL is incubated within a group that also operates vendors whose images and pipelines may be certified under this Specification. Accordingly:
- SVL MUST disclose any material relationship between SVL and a certificate holder in that holder's certification record;
- SVL MUST apply identical thresholds, protocols, input-set selection rules, and monitoring practices to all applicants, whether related parties or not;
- certifications issued to related parties SHOULD be accompanied by a result record sufficient for independent re-scoring by a third-party conforming runner.
18.4 Specification licence
The text of this Specification is free to read. The text may be shared with attribution, but modified versions MUST NOT be published under the VQS name or in a manner suggesting SVL endorsement. These terms cover the Specification text only; they do not cover the certification mark (17.6) or the canonical runner software.
18.5 Feedback and errata
Feedback, implementation reports, and errata are received through standardvisionlab.com. Editorial errata are published against the current version without a version change. Any substantive change, including any change to a threshold, parameter, or aggregation rule, is made only through the versioning process in 18.2.
Annex A. Result record JSON schema (informative)
This Annex is informative. The normative requirements are those of Clause 15. The schema below uses the JSON Schema 2020-12 dialect.
A.1 Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://standardvisionlab.com/schemas/vqs/1.0/result-record.schema.json",
"title": "VQS Result Record",
"type": "object",
"required": ["vqs_version", "runner", "image", "parameters", "not_applicable",
"categories", "composite", "status", "timestamp", "record_hash"],
"properties": {
"vqs_version": { "type": "string",
"description": "Specification version identifier in the clause 5 format, for example 'VQS v1.0'" },
"runner": {
"type": "object",
"required": ["id", "version"],
"properties": {
"id": { "type": "string" },
"version": { "type": "string" }
}
},
"image": {
"type": "object",
"required": ["id", "sha256"],
"properties": {
"id": { "type": "string" },
"sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
}
},
"parameters": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "metric", "score", "status"],
"properties": {
"id": { "type": "string", "pattern": "^(EXP|WBL|COL|GEO|ART|SEM)-[0-9]{2}$" },
"metric": {
"type": "object",
"required": ["value", "unit"],
"properties": {
"value": { "type": ["number", "string"] },
"unit": { "type": "string" }
}
},
"score": { "type": "integer", "minimum": 0, "maximum": 100 },
"status": { "enum": ["PASS", "FLAG", "FAIL"] },
"regions": {
"type": "array",
"items": {
"type": "object",
"required": ["class", "bbox"],
"properties": {
"class": { "type": "string" },
"bbox": {
"type": "array",
"items": { "type": "number", "minimum": 0, "maximum": 1 },
"minItems": 4, "maxItems": 4
},
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
}
}
}
}
}
},
"not_applicable": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "reason"],
"properties": {
"id": { "type": "string", "pattern": "^(EXP|WBL|COL|GEO|ART|SEM)-[0-9]{2}$" },
"reason": { "type": "string" }
}
}
},
"categories": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "score", "status"],
"properties": {
"id": { "enum": ["exposure", "white_balance", "colour", "geometry",
"artifacts", "semantic"] },
"score": { "type": "number", "minimum": 0, "maximum": 100 },
"status": { "enum": ["PASS", "FLAG", "FAIL"] },
"weight": { "type": "number", "minimum": 0, "maximum": 1 }
}
}
},
"composite": { "type": "integer", "minimum": 0, "maximum": 100 },
"status": { "enum": ["PASS", "FLAG", "FAIL"] },
"set": {
"type": "object",
"required": ["id", "image_count", "statistics"],
"properties": {
"id": { "type": "string" },
"image_count": { "type": "integer", "minimum": 2 },
"statistics": {
"type": "array",
"items": {
"type": "object",
"required": ["statistic", "scope", "sigma", "status"],
"properties": {
"statistic": { "type": "string" },
"scope": { "type": "string" },
"sigma": { "type": "number", "minimum": 0 },
"status": { "enum": ["PASS", "FLAG", "FAIL"] }
}
}
}
}
},
"timestamp": { "type": "string", "format": "date-time" },
"record_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
}
}
A.2 Example instance
The example below is abridged: a conforming record contains one entry in "parameters" for every applicable parameter; three are shown here. Digest values are illustrative.
{
"vqs_version": "VQS v1.0",
"runner": { "id": "svl-canonical", "version": "1.0.3" },
"image": {
"id": "listing-4821/img-007",
"sha256": "6f1ed002ab5595859014ebf0951522d9a4b6f0d5f0e6b1c0ff2b93c1a2f4c9d3"
},
"parameters": [
{
"id": "EXP-01",
"metric": { "value": 118.4, "unit": "Y8 mean luma" },
"score": 97,
"status": "PASS",
"regions": [ { "class": "Objects", "bbox": [0.0, 0.0, 1.0, 1.0], "confidence": 1.0 } ]
},
{
"id": "WBL-01",
"metric": { "value": 1.2, "unit": "CIELAB a* deviation" },
"score": 96,
"status": "PASS",
"regions": [ { "class": "WB Anchor", "bbox": [0.08, 0.02, 0.94, 0.31], "confidence": 0.99 } ]
},
{
"id": "ART-02",
"metric": { "value": "none", "unit": "discrete finding" },
"score": 100,
"status": "PASS",
"regions": []
}
],
"not_applicable": [
{ "id": "ART-05", "reason": "no Sky region of at least 1 % of the frame segmented" },
{ "id": "ART-07", "reason": "no screen present" },
{ "id": "SEM-01", "reason": "no fireplace present" },
{ "id": "SEM-02", "reason": "no pool present" }
],
"categories": [
{ "id": "exposure", "score": 95.0, "status": "PASS" },
{ "id": "white_balance", "score": 95.0, "status": "PASS" },
{ "id": "colour", "score": 93.0, "status": "PASS" },
{ "id": "geometry", "score": 91.0, "status": "PASS" },
{ "id": "artifacts", "score": 94.6, "status": "PASS" },
{ "id": "semantic", "score": 95.0, "status": "PASS" }
],
"composite": 94,
"status": "PASS",
"timestamp": "2026-07-29T03:12:45Z",
"record_hash": "a3d1c07be2f4885d9c60b1a54c3f2e91d7b8a06534f1c29e8ab05d6c47e3f012"
}
Annex B. Room-class taxonomy (normative)
B.1 General
Every image scored under this Specification is assigned exactly one room class from this Annex, per 6.5. Class identifiers are stable, machine-readable tokens used in result records and set-consistency statistics. The taxonomy is versioned with the parameter set: a change to the class list is a version change, and prior results remain valid against the version they were scored under.
B.2 Interior classes
| Identifier | Class | Definition |
|---|---|---|
| interior.living | Living | Lounge, family, media, and rumpus rooms; the primary indoor living and entertainment spaces |
| interior.bedroom | Bedroom | Rooms presented for sleeping, including master, guest, and children's bedrooms |
| interior.kitchen | Kitchen | Food-preparation areas, including island kitchens and butler's pantries |
| interior.bathroom | Bathroom | Bathrooms, ensuites, powder rooms, and WCs |
| interior.dining | Dining | Dedicated indoor dining areas |
| interior.hallway | Hallway/entry | Entries, foyers, corridors, stairways, and landings |
| interior.study | Study/office | Home offices, studies, and libraries |
| interior.laundry | Laundry | Laundries and interior utility rooms |
| interior.garage | Garage | Enclosed vehicle-storage interiors photographed from inside |
| interior.other | Other-interior | Interiors matching no other interior class (for example walk-in robe, cellar, home gym), or assigned under the confidence rule of 6.5.2 |
B.3 Exterior classes
| Identifier | Class | Definition |
|---|---|---|
| exterior.front | Front elevation | The street-facing facade, including front garden and driveway context |
| exterior.rear | Rear elevation/garden | The rear facade, backyard, gardens, decks, and alfresco areas |
| exterior.pool | Pool | Images in which a swimming pool or spa is the dominant subject |
| exterior.aerial | Aerial | Elevated or drone captures in which the allotment or its surroundings dominate the frame |
| exterior.street | Street/context | Streetscape, neighbourhood, and location-context images in which the property is not the dominant subject |
| exterior.other | Other-exterior | Exteriors matching no other exterior class (for example courtyard, balcony outlook), or assigned under the confidence rule of 6.5.2 |
B.4 Special captures
B.4.1 Detail (class)
| Identifier | Class | Definition |
|---|---|---|
| detail | Detail | A close-up of a single feature, fixture, or finish in which no room or elevation context dominates the frame; recorded with an interior or exterior attribute |
The exclusion of Detail images from set-consistency statistics is defined in 13.3.
B.4.2 Twilight (modifier flag)
Twilight is a modifier flag, not a class. It is a boolean recorded on the image alongside its class (for example exterior.front with twilight = true) and MUST NOT replace or substitute for a class assignment. The flag denotes a capture made at dusk or dawn, or rendered to present as such. It MAY be set on any class but is typical of exterior classes. The treatment of twilight-flagged images in set-consistency statistics (the Twilight standard grouping and the parent-grouping exclusions) is defined in 13.3.
B.5 Assignment notes
- A garage door photographed from the street is exterior.front; interior.garage applies only to interiors photographed from inside the garage.
- An open-plan space spanning several classes is assigned the dominant class per 6.5.3.
- An image that cannot be confidently classified within its interior or exterior branch is assigned the corresponding other class per 6.5.2; the interior or exterior determination itself is always made.