CCTVplanner Research
    Tekninen muistio · CP-TN-01

    CCTV-kameroiden kattavuuden geometria

    Miten kallistettu, mastoon asennettu kamera kuvaa maata: frustumin geometria, objektiiviprojektiot ja DORI-etäisyysstandardi, johdettuna perusperiaatteista ja piirrettynä samalla koodilla, joka pyörittää elävää suunnittelijaa.

    ID CP-TN-01Versio 1.0Julkaistu 2026-07Standardi EN 62676-43 elävää kuvaa: vedä laskeaksesi uudelleen
    Tiivistelmä

    Johdamme neulanreikäkameran mallista kallistetun, mastoon asennetun CCTV-kameran jalanjäljen maassa: lähi- ja kaukoreunan leikkauspisteet, geometrisen sokean alueen suoraan kiinnityksen alla ja standardin EN 62676-4 DORI-kohde-etäisyydet kaarina maan pinnalla. Jokainen alla oleva kuva lasketaan reaaliajassa geometriamoduulilla, joka kuuluu CCTVplannerin suunnittelijaan. Liikuta liukusäätimiä toistaaksesi jokaisen tuloksen. Lopuksi käsittelemme objektiiviprojektiomalleja, tietolehtien HFOV/DFOV-ansaa, esteiden varjostusta, parametrien virhebudjettia ja oletuksia, joilla mallia voi luottaa.

    Merkintätavat
    maa
    taso z = 0
    kamera
    optinen keskipiste korkeudella z = h
    akselit
    +x oikealle · +y eteen · +z ylös
    kallistus α
    mitattuna alaspäin vaakatasosta
    säteet
    lähetetään optisesta keskipisteestä kannassa (f, r, u)
    kulmat
    radiaaneina derivaatoissa; asteina kuvissa
    Rajaus: mitä tämä muistio ei ole

    Puhtaasti geometrinen malli siitä, mihin kameran säteet osuvat. Esitettyjen oletusten puitteissa se on geometrisesti tarkka: matemaattisesti täsmällinen, vaikkakin laajuudeltaan rajattu. Se ei yritä mallintaa:

    • kuvanlaatua tai kennon kohinaa
    • videopakkauksen artefakteja
    • valaistusta, heikkoa valoa tai IR-kantamaa
    • tekoälyn / analytiikan tunnistustarkkuutta

    1Frustumista jalanjälkeen maassa

    Neulanreikäkamera määrittelee näkymäfrustumin: nelisivuisen pyramidin, joka ulottuu kameran optisesta keskipisteestä sen kuvatason rajoille. Jokainen kuvapiste (diskreetissä toteutuksessa pikselin keskipiste) määrittää katselusäteen optisesta keskipisteestä kuvatason läpi. Löytääksemme maa-alueen, jonka kamera kattaa, leikkaamme jokaisen säteen maatason kanssa ja pidämme kameran kantaman sisällä olevat pisteet. Neulanreikämallia käytetään tässä, koska se antaa analyyttisesti käsiteltävän approksimaation, joka vastaa standardin EN 62676-4 geometrisia oletuksia ja useimpien kiinteiden CCTV-kameroiden julkaistuja teknisiä tietoja.

    Kameralle korkeudella h, kallistettuna α vaakatason alapuolelle ja pystysuuntaisella näkökentällä vfov, kattavuuden ulkoreunan piirtää kuvan reuna: suoraviivaisessa projektiossa sen määrittävät pelkästään neljä kulmasädettä, kalansilmäprojektioissa näytteitä otetaan koko reunalta. Tyypillisissä asennuksissa (joissa α+vfov2<90∘\alpha + \tfrac{\text{vfov}}{2} < 90^\circ) muoto on likimain puolisuunnikkaan muotoinen jalanjälki pyöristetyin kulmin, ei kolmio eikä kiinnityksestä lähtevä sektori. Kun α+vfov2\alpha + \tfrac{\text{vfov}}{2} lähestyy 90°:tta (jyrkät kattokupolit), kuvan alareuna kohtaa maan mastonjalassa ja jalanjälki surkastuu kohti sektoria.

    Figure 1Maan jalanjälki ylhäältä
    kantama 28 mh 4 mtilt 26°hfov 102°
    Fig. 1. Maan jalanjälki tuotantogeometriamoduulista. Alareuna kohtaa maan hieman kameran edessä, sivureunat levittäytyvät ulospäin ja kaukoreuna katkaistaan tehokkaaseen kantamaan. Laajenna hfov yli 180°:n, niin jalanjälki sulkeutuu täydeksi kiekoksi.

    2Lähi- ja kaukoreunan leikkauspiste

    Jokainen kuvatason näyte (s_H, s_V) ∈ [−1, 1]² kuvautuu katselusäteen suunnaksi kameran koordinaatistossa:

    d(sH,sV)=f+sHtan⁡HFOV2 r+sVtan⁡VFOV2 u\mathbf{d}(s_H, s_V) = \mathbf{f} + s_H\tan\tfrac{\text{HFOV}}{2}\,\mathbf{r} + s_V\tan\tfrac{\text{VFOV}}{2}\,\mathbf{u}
    (1)

    missä f, r, u ovat kameran kantavektorit eteen / oikealle / ylös (pan ja tilt on jo huomioitu). Tässä HFOV ja VFOV tulevat geometriaan. Säteen leikkaus optisesta keskipisteestä suuntaan d maatason z = 0 kanssa antaa jokaisen jalanjäljen näytteen. Alareunan säde (s_V = −1) osuu maahan lähietäisyydellä, yläreunan säde (s_V = +1) kaukoetäisyydellä:

    dnear=htan⁡ ⁣(α+vfov2)d_{\text{near}} = \dfrac{h}{\tan\!\left(\alpha + \frac{\text{vfov}}{2}\right)}
    (2)
    dfar={htan⁡ ⁣(α−vfov2),α>vfov2  (below horizon)∞ → clamp to R,α≤vfov2  (edge above horizon)d_{\text{far}} = \begin{cases} \dfrac{h}{\tan\!\left(\alpha - \frac{\text{vfov}}{2}\right)}, & \alpha > \tfrac{\text{vfov}}{2}\ \ (\text{below horizon}) \\[10pt] \infty \ \rightarrow\ \text{clamp to } R, & \alpha \le \tfrac{\text{vfov}}{2}\ \ (\text{edge above horizon}) \end{cases}
    (3)
    Figure 2Sivukuva: säteet, maakaista, sokea alue
    h = 6 mkamerasokea · 7.2 md_near = 7.2 mkantama = 38 mh 6 mtilt α 16°vfov 48°
    Fig. 2. Sivukuva. Kaksi sinistä viivaa ovat ala- ja yläreunan säteet, paksu sininen kaista on kohta, jossa kamera kuvaa lattiaa (d_near → d_far). Punainen kiila mastan alla on alue, jota mikään säde ei saavuta. Kasvata h:ta nähdäksesi sokean alueen kasvavan (§3). Pienennä α:ta alle vfov/2:n, niin kaukoreuna nousee horisontin yläpuolelle ja katkeaa kantamaan.

    Sivureunoille (s_H = ±1) sama konstruktio toimii vaakatasossa. Suoraviivaisilla objektiiveilla (CCTV:n hallitseva optiikka) ne projisoituvat hajaantuviksi suoriksi, puolisuunnikkaan vinoiksi sivuiksi. Kalansilmäobjektiiveilla kuvaus on kaareva ja jalanjäljestä tulee kaareva kiekko.

    3Geometrinen sokea alue

    Kaikilla maanpinnan yläpuolelle asennetuilla kameroilla, joiden kallistus on pienempi kuin 90∘−vfov290^\circ - \tfrac{\text{vfov}}{2}, suoraan kiinnityksen alla oleva alue ei saa yhtään sädettä. Kaikki lähempänä kuin d_near on kokonaan kuvan ulkopuolella, ja kiinteällä kallistuksella ja näkökentällä sokea alue kasvaa lineaarisesti korkeuden mukana:

    dnear=h cot⁡ ⁣(α+vfov2),∂dnear∂h=cot⁡ ⁣(α+vfov2)d_{\text{near}} = h\,\cot\!\left(\alpha + \tfrac{\text{vfov}}{2}\right), \qquad \frac{\partial d_{\text{near}}}{\partial h} = \cot\!\left(\alpha + \tfrac{\text{vfov}}{2}\right)
    (4)

    Kameralla, jonka kallistus on 15° ja pystysuuntainen näkökenttä 50°, on sokea alue 4,8 m 4 metrin korkeudessa ja 23,8 m 20 metrin korkeudessa: suhde 5×, joka vastaa korkeuksien suhdetta. Sokean ja katetun alan suhde on korkeiden mastojen sijoittelun hallitseva rajoite.

    4DORI-kantamat (EN 62676-4)

    DORI-standardi (Detect / Observe / Recognize / Identify) määrittelee kohteen pikselitiheydet: Identify 250, Recognize 125, Observe 62,5, Detect 25 px/m. Tietty tiheys saavutetaan tietyllä vinoetäisyydellä (näköyhteyden suuntaisella) objektiivista: kohteen etäisyydellä kuvausyhtälössä px/m=f⋅res/(sensor⋅d)\text{px/m} = f\cdot\text{res}/(\text{sensor}\cdot d). Sijoittaakseen portaan 2D-kartalle suunnittelija projisoi tämän vinoetäisyyden maahan vaakasuuntaisena renkaana, jonka säde on dslant2−h2\sqrt{d_{\text{slant}}^{2} - h^2} (moduulin slantToGroundRadius), jalanjäljen rajaamana. Kaaret ovat siis vaakasuuntaisia maasäteitä, jotka on johdettu portaan vinoetäisyydestä: ne ovat yhtä suuret kuin vinoetäisyys vain maan tasalla olevalle kameralle ja vetäytyvät sisäänpäin asennuksen noustessa. Osio 10 kuvaa nämä px/m-portaat ruudun korkeuden, pikseleiden jalkaa kohti ja viivaparien kriteereihin, joita käytetään muualla maailmassa.

    Figure 3DORI-renkaat kaarina maassa
    Identify · 7 mRecognize · 15 mObserve · 32 mDetect · 64 mh 4 mtilt 20°hfov 90°range 70 m
    Identify
    250 px/m
    Recognize
    125 px/m
    Observe
    62.5 px/m
    Detect
    25 px/m
    Fig. 3. DORI-portaat jalanjäljen sisällä. Porrasten vinoetäisyydet (8 / 16 / 32 / 64 m, havainnollistavia 1080p-kameralle noin 90° HFOV:lla) projisoi maahan moottorin slantToGroundRadius, joten jokainen nimiö näyttää vaakasuuntaisen säteen d2−h2\sqrt{d^2 - h^2}. Nosta h:ta, niin lähiportaat vetäytyvät sisäänpäin ja katoavat, kun kamera on vinon pallon yläpuolella. Kavenna hfov:ta, niin kartio on liian ohut ulkorenkaille.

    Projektio maahan. Jokaisen portaan vinoetäisyydestä tulee vaakasuuntainen maasäde:

    rground= dslant 2−h2 r_{\text{ground}} = \sqrt{\,d_{\text{slant}}^{\,2} - h^2\,}
    (5)

    Kamera, joka on asennettu 6 metriin ja jonka Identify-porras (250 px/m) saavutetaan 8 metrin vinoetäisyydellä, kattaa vaakasuuntaisen maasäteen 5,3 m (64−36\sqrt{64 - 36}). Juuri tämän projektion suunnittelija sekä PDF- ja DXF-viennit soveltavat jokaiseen portaaseen. (Vanhempi varatila, PTZ-kameroille ja kameroille ilman asennuskorkeuden / sokean alueen määritystä, piirtää raa'an vinoetäisyyden tasaisena säteenä ilman korkeuskorjausta.)

    5Objektiivin projektiomallit

    Eri objektiivirakenteet kuvaavat kulman θ optisesta akselista kuvatason säteeksi r(θ) eri tavoin. Kolme CCTV:ssä käytettyä:

    Projektior(θ)Tyypillinen kantama
    Rectilinearftan⁡θf\tan\thetaHFOV ≲ 120° — useimmat kiinteät ja varifokaaliobjektiivit
    Equidistantf θf\,\thetaHFOV ≳ 140° — panoraama / kalansilmä
    Equisolid2fsin⁡(θ/2)2f\sin(\theta/2)Avaruuskulman säilyttävä kalansilmä

    Suoraviivaisilla objektiiveilla akselin ulkopuolinen kerroin tan⁡θ\tan\theta ylittää arvon 1, kun θ ylittää 45° (HFOV > 90°), ja hajaantuu kohti arvoa θ → 90°. Numeerisena approksimaationa (toteutusvalinta, ei optiikan ominaisuus) CCTVplanner käyttää suoraviivaista projektiota 170° HFOV:iin asti ja vaihtaa sen jälkeen vakauden vuoksi tasavälisen projektioon. Tasapintainen on tuettu geometriakerroksessa valmistajien tiedoille, jotka sen määrittävät.

    Tietolehden ansa: HFOV vs DFOV

    Monet valmistajat, erityisesti Dahua, Hikvision, Uniview ja Tiandy, ilmoittavat yhden FOV-luvun, joka on todellisuudessa lävistäjän suuntainen näkökenttä (DFOV). DFOV:n syöttäminen työkaluun, joka odottaa HFOV:ta, antaa 10–15 % liian leveän jalanjäljen, ja virhe keskittyy sivureunoille, joilla pikselitiheys on tärkeintä. Kennolle, jonka kuvasuhde on a (16:9 → a = 16/9):

    tan⁡HFOV2=tan⁡DFOV2⋅aa2+1,tan⁡VFOV2=tan⁡DFOV2⋅1a2+1\tan\tfrac{\text{HFOV}}{2} = \tan\tfrac{\text{DFOV}}{2}\cdot\dfrac{a}{\sqrt{a^2+1}}, \qquad \tan\tfrac{\text{VFOV}}{2} = \tan\tfrac{\text{DFOV}}{2}\cdot\dfrac{1}{\sqrt{a^2+1}}
    (6)

    Kuvaus on epälineaarinen: houkutteleva lineaarinen oikotie HFOV≈k⋅DFOV\text{HFOV} \approx k\cdot\text{DFOV} toimii kapeilla objektiiveilla mutta epäonnistuu pahasti kentän levetessä. 16:9-kennolle:

    DFOVTarkka HFOVTarkka VFOVLineaarisen oikotien virhe
    60°53.4°31.6°−1.1°
    80°72.4°44.7°−2.6°
    100°92.2°60.6°−5.0°
    120°113.0°80.7°−8.4°
    140°134.7°106.8°−12.7°

    6Esteet, varjot ja näkyvä jalanjälki

    Seinät ja aidat estävät säteet. Jokainen läpinäkymätön este mallinnetaan monikulmiona tai murtoviivana. Jokainen segmentti projisoidaan pois kamerasta moninkertaiseen renderöintikantamaan, ja näiden segmenttivarjojen yhdiste on esteen siluetti ja kaikki sen takana. Näkyvä jalanjälki on tällöin footprint∖⋃shadows\text{footprint} \setminus \bigcup \text{shadows} Martínez–Rueda-monikulmioiden erotusalgoritmilla.

    3D-tietoisessa analyysissä kameraa matalampi este heittää maahan äärellisen varjon. Seinälle vaakaetäisyydellä d, kameran korkeudella h_cam ja esteen yläreunalla h_obs:

    dshadow=d⋅hcamhcam−hobs(hcam>hobs)d_{\text{shadow}} = d\cdot\dfrac{h_{\text{cam}}}{h_{\text{cam}} - h_{\text{obs}}}\quad (h_{\text{cam}} > h_{\text{obs}})
    (7)

    Kun hobs≥hcamh_{\text{obs}} \ge h_{\text{cam}}, este estää näköyhteyden kokonaan: ääretön varjo, jota käsitellään täysin läpinäkymättömänä esteenä. Rakennuksille ja yleisille esteille tätä äärellisen korkeuden mallia sovelletaan aina, kun kamera on rakenteen yläpuolella. Aidoilla sitä ohjaa kytkin "Käytä pystykorkeutta (3D)" (oletus: läpinäkymätön este). Varjon pään matematiikka on tiedostossa obstacleTypes.ts, ja obstacleClipping.ts suorittaa monikulmioiden vähennyksen.

    7Projektio useisiin kerroksiin

    Frustumin ja maan leikkaus yleistyy mille tahansa vaakatasolle: korvaa z=0z = 0 arvolla z=ztargetz = z_{\text{target}}, ratkaise sama säde-taso-yhtälö jokaiselle kulmasäteelle, ja tulos on jalanjälki kyseisessä kerroksessa. Atrium-tilan toisessa kerroksessa oleva kamera kattaa pohjakerroksen samalla konstruktiolla, vain eri z_target-arvolla ja pystysiirtymällä.

    8Oletukset ja rajat

    Kaikki yllä olevat kaavat perustuvat yksinkertaistaviin oletuksiin. Ne pätevät suurimmalle osalle kiinteästi asennettua CCTV:tä, mutta pettävät tietyissä olosuhteissa. Ne on dokumentoitu, jotta ammattilaiset tietävät, milloin mallia voi luottaa.

    Mallin oletukset

    • Tasainen maa (z=0)(z = 0): ei kaltevuutta, ei Maan kaarevuutta.
    • Staattinen kamera kuvaushetkellä: ei PTZ-liikettä, ei tärinää.
    • Neulanreikämalli: ei Brown–Conrady-objektiivivääristymää (k₁, k₂, p₁, p₂).
    • Ihanteellinen kalibrointi: kallistus, polttoväli ja optinen keskipiste vastaavat teknisiä tietoja.
    • Ei rolling shutteria; koko kuva otetaan yhdellä hetkellä.
    • Ei kameran kiertymistä akselin ympäri; kenno pysyy vaakasuorassa.
    • Yksi optinen reitti: ei kupolin taittumista, ei heijastuksia.

    Kun malli pettää

    • Kalteva maasto: jalanjälki siirtyy epäsymmetrisesti, virhe ≈ ±h·tan(slope) metriä kohti.
    • Laajakulmavääristymä: yli noin 110° HFOV:n suoraviivainen projektio voi poiketa kulmissa useita prosentteja (objektiivista, kalibroinnista ja mallista riippuen).
    • Lasikupolit: millimetriluokan taittumasiirtymä; merkitystä vain tarkassa DORI-mittauksessa.
    • Monikertaisen heijastuksen optiikka: heijastuksia ei jäljitetä; vain näköyhteys.
    • PTZ liikkeessä: malli antaa yhden pan/tiltin; kattavuus on pyyhkäisty jalanjälki.
    • Asennustoleranssi: todelliset kulmat poikkeavat 1–3°; §9 kvantifioi vaikutuksen.

    9Virheherkkyys

    Syöttövirheet (korkeus, kallistus, FOV) etenevät maapaikan virheeksi. Lähileikkauspisteelle dnear=h/tan⁡(α+vfov/2)d_{\text{near}} = h/\tan(\alpha + \text{vfov}/2) osittaisderivaatat ovat:

    ∂dnear∂h=dnearh,∂dnear∂α=−hsin⁡2(α+vfov/2),∂dnear∂ vfov=−h2sin⁡2(α+vfov/2)(α, vfov in radians)\begin{gathered} \dfrac{\partial d_{\text{near}}}{\partial h} = \dfrac{d_{\text{near}}}{h}, \quad \dfrac{\partial d_{\text{near}}}{\partial \alpha} = \dfrac{-h}{\sin^2(\alpha + \text{vfov}/2)}, \quad \dfrac{\partial d_{\text{near}}}{\partial\,\text{vfov}} = \dfrac{-h}{2\sin^2(\alpha + \text{vfov}/2)} \\[5pt] \footnotesize (\alpha,\ \mathrm{vfov}\ \text{in radians}) \end{gathered}
    (8)

    Kulmaosittaisderivaatat ovat radiaaneina (× π/180\pi/180 per aste). Tyypillisessä kokoonpanossa (h = 10 m, kallistus = 15°, vfov = 50° → d_near ≈ 11.9 m):

    ParametriSyöttövirheΔ d_lähiHuomautus
    tilt α±1°±0.42 mkallistusmittarin resoluutio
    tilt α±3°±1.27 msilmämääräisesti säädetty kiinnike
    height h±0.5 m±0.59 mmittanauha, vaikeapääsyinen masto
    vfov±1°±0.21 mtietolehden pyöristys
    combinedRMS~1.4 mat 3° + 0.5 m + 1°

    Selkeästi sanottuna: 1°:n asennusvirhe voi siirtää Identify-vyöhykettä enemmän kuin oven leveyden verran. Asennuskulman epävarmuus dominoi: jokainen kallistusvirheen aste maksaa tässä noin 42 cm kohdassa d_near. Laserkallistusmittari 0,1° tarkkuudella pitää kallistuksesta johtuvan virheen alle 5 cm, silmämääräisesti säädetty kiinnike on hyvä noin ±1 m tarkkuudella. DORI-porrasten varmennuksessa, jossa Recognize- ja Identify-renkaat voivat olla 2–3 m päässä toisistaan, kallistus tulisi mitata, ei arvioida.

    10Kohde-etäisyyskriteerit eri standardeissa

    DORI on kansainvälinen lingua franca, mutta suunnittelija työskentelee sen standardin mukaan, jota lainkäyttöalue vaatii. Jokainen kehys koodaa saman fysikaalisen suureen, vaaditun yksityiskohdan etäisyydellä, yhdessä neljästä yksiköstä: pikseleitä metriä kohti, prosenttia ruudun korkeudesta, pikseleitä jalkaa kohti tai Johnsonin viivapareja. Yllä oleva geometria on sama, vain lukema muuttuu.

    AlueStandardiYksikköDetect / Recognise / Identifyvs DORI
    Intl · EUIEC / EN 62676-4 (2014·2025)px/m25 / 125 / 250 (Obs 62.5)vertailuportaikko
    EU legacyEN 50132-7:2012% screen10% / 50% / 100%ruudun korkeuden muoto
    UKHOSDB 28/09 · Rotakin% screen10% / 50% / 100%†= EN 50132-7
    AU · NZAS 4806.2 → AS/NZS 62676% → px/m10% / 50% / 100% → DORIsiirtymässä DORI:in
    USDHS S&T handbook · PPFpx/ft~10 / 40 / 80 ppfDORI × 0,305
    ChinaGB 37300-2018px on targetbody ≥200 · face ≥300 · plate ≥100px kohteella
    UAEDubai SIRApx/m63.5 / 125 / 250≈ DORI
    IndiaBIS IS 16910-4px/m= DORIottaa käyttöön IEC 62676-4
    RussiaGOST R 51558-2014 ‡inter-eye pxface ID ≥60 px IED ‡osittainen D/R/I
    Mil · thermalJohnson 1958 · TTPline-pairs1.0 / 4.0 / 6.4 cyctaustalla oleva malli
    Face biometricISO/IEC 19794-5 · 39794-5inter-eye px~10 / ~40 / ≥90 (IED)alaraja Identifyn alla

    † UK Identify = 100 % ruudun korkeudesta (HOSDB 28/09, 2009); aiempi PSDB 17/94 / Rotakin-määrittely käytti 120 %. Kriteerit koskevat noin 1,6–1,7 m pitkää vertailuhenkilöä. ‡ Venäjän GOST R 51558 on tässä matalan luotettavuuden: ensisijainen teksti on maksumuurin takana ja toissijaiset lähteet ovat ristiriidassa, joten käsittele arvoa suuntaa-antavana. Kasvojen biometrinen IED = silmien väli (pupillista pupilliin): pikselialaraja, jolle "Identify" lopulta perustuu.

    Kaikki lainkäyttöalueet eivät määritä lukua. Kanada (RCMP GCPSG-011) ja käytännössä Saudi-Arabia (HCIS) edellyttävät kameran suorituskyvyn perustelemista kohteen riskiarvioinnilla eikä kiinteällä pikselitavoitteella, eikä Japani julkaise erillistä CCTV-etäisyyskriteeriä.

    IEC 62676-4:n vuoden 2025 versio korvaa neljä DORI-porrasta seitsenportaisella OODPCVS-portaikolla (Overview, Outline, Discern, Perceive, Characterise, Validate, Scrutinise) tiheyksillä 20 / 40 / 80 / 125 / 250 / 500 / 1500 px/m. CCTVplannerin moottori laskee molemmat.

    Koska kaikki neljä yksikköä mittaavat samaa asiaa, ne muunnetaan tarkasti toisikseen, kun kennon resoluutio ja kohteen koko tunnetaan:

    ppf=0.3048×(px/m)% screen height=100⋅(px/m)⋅HtargetVpixelspx/m=2Ndc  (N=Johnson line-pairs, dc=critical dim.)\begin{aligned} \text{ppf} &= 0.3048 \times (\text{px/m}) \\[3pt] \%\,\text{screen height} &= 100\cdot\frac{(\text{px/m})\cdot H_{\text{target}}}{V_{\text{pixels}}} \\[3pt] \text{px/m} &= \frac{2N}{d_c}\ \ (N=\text{Johnson line-pairs},\ d_c=\text{critical dim.}) \end{aligned}
    (9)

    Yksi etäisyys moottorissa luetaan siis arvona 250 px/m (DORI Identify), 100 % ruudun korkeudesta (EN 50132-7 / HOSDB), 76 px/ft (USA) tai 6,4 viivaparia (Johnson): sama kamera, neljä sanastoa.

    11Yleisiä väärinkäsityksiä

    Neljä sekaannusta selittää suurimman osan paperisuunnitelman ja asennetun välisestä kuilusta. Jokainen on suora seuraus yllä olevasta geometriasta.

    ✗HFOV on sama kuin DFOV.
    ✓Tietolehdet ilmoittavat usein lävistäjän FOV:n. Vaakasuuntaisena käytettynä se levittää jalanjälkeä 10–15 % ja paisuttaa jokaista DORI-kantamaa (§5).
    ✗Leveämpi objektiivi tarkoittaa parempaa kattavuutta.
    ✓Leveämpi objektiivi levittää samat pikselit suuremmalle näkymälle, joten pikselitiheys ja jokainen DORI-etäisyys laskevat. Enemmän alaa, vähemmän tunnistettavia yksityiskohtia.
    ✗Korkeammalle asennus parantaa aina näkyvyyttä.
    ✓Korkeus kasvattaa sokeaa aluetta lineaarisesti (§3) ja jyrkentää alaspäin katsomiskulmaa; tietyn pisteen jälkeen kuvaat enemmän päälakea ja kattoa kuin kasvoja.
    ✗DORI-etäisyys piirtyy suoraan kartalle maasäteenä.
    ✓Tiheys px/m saavutetaan vinoetäisyydellä (näköyhteyden suuntaisella); kartan rengas on sen maaprojektio √(vino²−h²), joka vetäytyy sisäänpäin, mitä korkeammalle kamera asennetaan (§4).

    12Toistettavuus

    Jokainen tässä esitetty kaava on toteutettu suoraan geometriamoduulissa, joka kuuluu CCTVplannerin suunnittelijaan, ilman muita approksimaatioita kuin numeerinen näytteenotto, monikulmioiden leikkaus ja liukulukulaskennan järjestys. Sitä kattaa yksikkötestisarja suoraviivaisille / tasavälisille / tasapintaisille projektioille, sokeiden alueiden reunatapauksille, DORI-maaprojektiolle, esteiden monikulmioiden Boolen leikkaukselle ja monikerroslaajennukselle. Jokainen tämän sivun kuva kutsuu samoja funktioita.

    Keskeiset sisäänpääsypisteet

    • buildFrustum(args) — kameran kanta + frustumin metatiedot
    • computeGroundFootprint(frustum, projection) — näytteistetty jalanjälkimonikulmio
    • slantToGroundRadius(frustum, slantM) — d2−h2\sqrt{d^2 - h^2} saavutettavuustarkistuksella
    • subtractObstacleShadows(footprint, shadows) — Martínez–Rueda-erotus
    • computeFloorFootprint(frustum, z, projection) — monikerrosvariantti

    §Lähteet

    1. [1]IEC 62676-4:2014 (muutoksineen): Turvallisuussovellusten videovalvontajärjestelmät, osa 4: Sovellusohjeet (DORI-kohde-etäisyydet). Julkaistu Euroopassa nimellä EN 62676-4.
    2. [2]Hartley & Zisserman, Multiple View Geometry in Computer Vision, 2. p., Cambridge University Press, 2004.
    3. [3]Kannala & Brandt, "A generic camera model and calibration method for conventional, wide-angle, and fish-eye lenses," IEEE TPAMI, 2006.
    4. [4]Martínez, Rueda & Feito, "A new algorithm for computing Boolean operations on polygons," Computers & Geosciences, 2009, vuoden 2013 jatkotyöllä Advances in Engineering Software -lehdessä.
    5. [5]Szeliski, Computer Vision: Algorithms and Applications, 2. p., Springer, 2022 (projektiomallit, kameran geometria; vakioviite).
    6. [6]EN 50132-7:2012: Hälytysjärjestelmät, CCTV-valvontajärjestelmät, osa 7: Sovellusohjeet (ruudun korkeuden toiminnalliset vaatimukset; korvattu standardilla EN 62676-4).
    7. [7]IEC 62676-4:2025 (2. p.): Sovellusohjeet, jotka ottavat käyttöön seitsenportaisen OODPCVS-pikselitiheysportaikon.
    8. [8]US DHS Science & Technology, Digital Video Quality Handbook, 2013 (päivitetty 2018): pikseleitä jalkaa kohti -ohjeistus yleisen turvallisuuden videolle.
    9. [9]GB 37300-2018: Yleisen turvallisuuden videovalvonta (Kiina, pakollinen), §5.6 kohdepikselivaatimukset.
    10. [10]Johnson, J. (1958), "Analysis of image-forming systems," Proc. Image Intensifier Symposium, seuraajanaan NVESD Targeting Task Performance (TTP), Vollmerhausen & Jacobs, Opt. Eng. 43(11), 2004.
    11. [11]ISO/IEC 19794-5:2011 & ISO/IEC 39794-5:2019: Biometriset kasvokuvatiedot (silmien välisen pikselimäärän kriteerit kasvojentunnistukseen ja rekisteröintiin).
    Näin viittaat

    CCTVplanner Research. The Geometry of CCTV Camera Coverage. Technical Note CP-TN-01, v1.0, 2026. cctvplanner.io/camera-physics

    @techreport{cctvplanner-cptn01-2026,
      title   = {The Geometry of CCTV Camera Coverage},
      author  = {{CCTVplanner Research}},
      number  = {CP-TN-01},
      version = {1.0},
      year    = {2026},
      url     = {https://cctvplanner.io/camera-physics}
    }

    Jokaisen tämän muistion kuvan luo sama geometriamoottori, jota CCTVplannerin suunnittelija käyttää.

    Avaa suunnittelija