Fysisch begrensde computervisie

Fysica overruled pixels.

Onder stadionlampen kan een glanzend kaal hoofd scoren als een "bal" met 98% betrouwbaarheid, waardoor een camera die de hoogste betrouwbaarheid volgt buiten het veld zwaait. Plumbline is een deterministische fysicapoortlaag die na uw detector wordt geplaatst en de detectie verwerpt die door de fysica wordt verboden, terwijl hij vergrendeld blijft op de echte bal.

Het is de verificatielaag tussen uw detector en uw actiesysteem. Voer het uit en lees vervolgens de fysicarede die voor elke beslissing is vastgelegd.

Gesproken walkthrough van het draaiende Plumbline-dashboard (3:58).

97.7%

Tijd op doel, fysicapoort

Synthetische benchmark, seed 7

82.3σ

Slechtste bedrieger, verworpen voorbij de 5σ-lijn

bald_linesman-audit, 44 frames

68.3%

Tijd op doel, echte uitzendclip

Echte YOLO11x, 240 frames, beeldruimte

De twee benchmarkkaders worden op deze gehele pagina gescheiden gehouden. Het synthetische cijfer is een gecontroleerd maximum ten opzichte van een bekende grondwaarheid; het cijfer voor het echte beeldmateriaal ligt eerlijk lager op lastige echte video.

Een detector heeft geen geheugen van waar een echt object zich als volgende kan bevinden

Het falen is een natuurkundig falen, geen detectiefalen.

Een objectdetector is frame-onafhankelijk. Hij beoordeelt elk beeld op textuur en vorm zonder enig benul van waar een echt object zich fysiek kan bevinden in het volgende frame. Onder stadionwerpers glanst een kaal hoofd als een bal, waardoor de detector een "bal" met 98% betrouwbaarheid afgeeft op het hoofd terwijl de werkelijke bal lager scoort, en een camera die de hoogste betrouwbaarheid volgt, het hoofd volgt in plaats van de wedstrijd.

Dit is gedocumenteerd, niet hypothetisch. In oktober 2020 volgde een geautomatiseerde camera van Pixellot bij Inverness Caledonian Thistle een hele wedstrijd lang het kale hoofd van een grensrechter in plaats van de bal (oplossingspagina Veriprajna WP43, 2026). Het is evenmin een eenmalig falen dat betere modellen vanzelf oplossen: SoccerNets eigen trackingbenchmark concludeert dat het volgen van meerdere objecten in voetbal "verre van opgelost" is, waarbij er nog geen fysicabewuste tracking is geïntegreerd in benchmarkmethoden, een duidelijke lacune (Veriprajna WP43-onderzoek, 2026).

De reden dat dit niet verdwijnt naarmate detectoren verbeteren, is dat een fysiek onmogelijke detectie bij elke detectorprecisie fout is. Een "bal" die zich op een constante hoogte van 1,7 m bevindt en met 3 mph beweegt, is geen bal, ongeacht hoe zelfverzekerd het model is. Voor een team dat aansprakelijkheid draagt voor een geautomatiseerde visuele beslissing, zijn randgevallen waar de kosten zitten: een sectorverslag stelt ze op "80% van de engineeringtijd, 90% van de supportkosten, 100% van het aansprakelijkheidsrisico" (Veriprajna WP43-onderzoek, 2026).

Drie deterministische poorten die het model niet kan overrulen

Plumbline draait stroomafwaarts van de detector. Het neemt elke kandidaatdetectie en vraagt of de fysica dit toestaat, stuurt het frame vervolgens door naar accept, review of coast, en legt de reden vast.

Poort 1: kinematisch

Een Kalman/UKF-filter (projectiel-procesmodel plus een niet-lineair pinhole-meetmodel) voorspelt waar een echte bal kan zijn. De innovatie van elke kandidaat wordt een Mahalanobis -afstand. Drempelwaarden worden meegeleverd als configuratie: accepteer onder 3σ, verwerp boven 5σ, markeer 3 tot 5σ als REVIEW. In het slechtste frame van de bald-linesman-scène scoorde de bedrieger 82.3σ.

Poort 2: optische flow

De poort vergelijkt de pixelsnelheid die het spoor voorspelt met de lokale optische flow van de kandidaat, en verwerpt bij een discrepantie in richting of grootte (meegeleverde bandbreedte: flow-ratio in [0.35, 3.0], cosinus minstens 0,3). Een "bal" die midden in het spel nagenoeg stilstaat, zakt hiervoor.

Poort 3: geometrisch

Het pinhole-model geeft de pixelgrootte aan die een bal van 22 cm kan beslaan op de geïmpliceerde diepte van de kandidaat, en de poort verwerpt onmogelijke afmetingen (groottetolerantie-ratio 1,8x op het synthetische pad, 1,5x op het beeldruimtepad voor echt beeldmateriaal). Een hoofd van ongeveer 50 px kan geen bal van 22 cm zijn op circa 12 m, wat ongeveer 22 px beslaat.

Een deterministische beleidspoort beslist vervolgens, met behulp van dezelfde gates.py ongewijzigd op beide invoerpaden. Deze accepteert alleen wanneer alle poorten slagen. Het markeert een grensgeval als kandidaat (3 tot 5σ zonder harde fout) als REVIEW, en het spoor volgt de voorspelling (coasting), geëscaleerd in plaats van gebluft. Het gaat over op COAST (alleen voorspellen) wanneer elke kandidaat wordt verworpen, bijvoorbeeld door een korte occlusie, en herwint het doel wanneer de bal weer verschijnt. De drempelwaarden zijn configuratie, niet ingesteld door enig model.

Elke beslissing wordt weggeschreven naar een auditdossier per beslissing. De header bevat de seed, het scenario, de detector-id en de poortdrempelwaarden. Elk frame vermeldt elke kandidaat met zijn klasse en betrouwbaarheid, het numerieke oordeel van elke poort en de duidelijke toelichting, de uiteindelijke actie en het vergrendelde spoor. Een optionele auditverteller zet die telemetrie om in een duidelijke samenvatting van incidenten voor de export, maar deze is uitsluitend adviserend, bevindt zich nooit in het acceptatie- of verwerpingspad, en valt terug op een deterministische samenvatting via templates wanneer er geen modelsleutel of bridge aanwezig is, zodat de demo volledig offline draait.

Hetzelfde driepoortenbeleid draait op twee soorten invoer, en dat is precies de clou. Op de synthetische scènes gebruikt het het Unscented Kalman Filter in de wereldruimte. Op de echte uitzendclip draait het in het beeldvlak met een 2D-Kalman-filter (kf2d), omdat een enkele ongekalibreerde clip geen metrische diepte biedt en het veinzen van een 3D-filter oneerlijk zou zijn. De poorten worden ongewijzigd hergebruikt; alleen het filter verandert naar waarheid. Dat maakt de laag detector-agnostisch: de waarde zit in de poorten, niet in de detector.

Wat de poorten doen, frame voor frame

Onderstaande schermafbeeldingen zijn van het daadwerkelijk draaiende Plumbline-dashboard. De bedrieger met het kale hoofd is een door de auteur geïnjecteerde reproductie van het gedocumenteerde incident uit 2020, duidelijk vermeld in de app.

Plumbline gesplitst scherm: links staat het kader van de naïeve tracker op het kale hoofd van de grensrechter, rechts blijft de door fysica bestuurde tracker op de echte bal terwijl de live-poortfeed toont dat de hoofdkandidaat wordt verworpen bij 82,3 sigma.

De afwijzing van de kale grensrechter (synthetisch)

Gedurende de scène van 44 frames geeft de gesimuleerde detector 18 foutieve "bal"-detecties met hoge betrouwbaarheid af op het hoofd van de grensrechter, tot 98% betrouwbaarheid. De drie poorten verwerpen alle 18 detecties. De slechtste individuele bedrieger scoort 82.3σ op de kinematische poort, ver voorbij de afwijzingslijn van 5σ, terwijl de echte bal, met ongeveer 87% betrouwbaarheid en 0.4σ, alle drie passeert en vergrendeld blijft. Op dit enkele scenario behield de fysicalaag 97,7% tijd op doel met 1 ID-wissel, tegenover 59,1% voor follow-highest-confidence en 20,5% voor de verhoogde drempelwaarde (het synthetische aggregaat van drie scenario's staat in de vergelijkingstabel verderop).

Plumbline bij het occlusiescenario: een speler kruist voor de bal langs, de naïeve tracker springt naar de speler, en de fysicatracker houdt een voorspelde positie gemarkeerd als COAST vast totdat de bal weer verschijnt.

Doortrekken tijdens occlusie (synthetisch)

Wanneer een speler de bal kortstondig kruist, raakt de naïeve tracker deze kwijt of grijpt de speler. De fysicatracker schakelt over naar COAST en overbrugt het gat op basis van de voorspelling, waarna hij de bal herwint zodra deze weer verschijnt. Hij verzint nooit een detectie om de stilte op te vullen; hij voorspelt, markeert de toestand en wacht.

Plumbline draaiend op een echte uitzendclip met echte YOLO11x-detecties in beeldruimte, waarbij het scorebord 68,3% fysica-tijd op doel toont tegenover 43,8% en 30,0% voor de twee baselines.

Dezelfde poorten op echt beeldmateriaal

Op een echte uitzendclip van 240 frames voeden echte YOLO11x-detecties dezelfde drie poorten die in beeldruimte draaien. De poorten hielden de bal vast gedurende 68,3% van de frames, tegenover 43,8% voor de naïeve tracker en 30,0% voor de tracker met verhoogde drempelwaarde, met 4 ID-wissels tegenover 7 en een gemiddelde fout van 26,2 px tegenover 193,0 px. Het ligt eerlijk lager dan het synthetische plafond omdat echt beeldmateriaal moeilijker is. De strekking — fysica verslaat beide baselines — blijft overeind bij echte detecties, niet alleen bij gesimuleerde.

Het geëxporteerde beslissingslogboek van Plumbline geopend in de browser, met de header met seed en poortdrempelwaarden en rijen per frame die elke kandidaat, poortoordelen en de duidelijke fysicarede voor elke beslissing vermelden.

Een fysicarede gedocumenteerd voor elke beslissing

Het geëxporteerde beslissingslogboek opent het volledige traject: seed, scenario, detector-id en drempelwaarden bovenaan, vervolgens een registratie per frame van de klasse en betrouwbaarheid van elke kandidaat, het numerieke oordeel van elke poort met de duidelijke motivering, de uiteindelijke actie en het vergrendelde spoor, afsluitend met het scorebord. Voor een team dat aansprakelijkheid draagt voor een geautomatiseerde visuele beslissing, is dat een archiveerbaar spoor van waarom elke detectie werd vertrouwd of geweigerd.

De gemeten vergelijking, met het exacte bereik

Dit zijn meetwaarden voor trackingkwaliteit, onafhankelijk van detectorkwaliteit. Het is nooit een modelfoutpercentage en nooit een open-wereldgarantie. De twee onderstaande sets hebben betrekking op verschillende kaders en worden niet samengevoegd.

Synthetisch aggregaat (seed 7, over bald_linesman, occlusion en clean)

Tracker Tijd op doel ID-wissels Gem. fout (px) Misser op clean-set
Veriprajna fysica 97.7% 3 2.7 2.3%
B1: volg hoogste betrouwbaarheid 80.3% 4 63.0 0.0%
B2: verhoogde betrouwbaarheidsdrempel 40.2% 29 115.0 43.2%

Echt uitzendmateriaal (echte YOLO11x, 240 frames, beeldruimtepoorten)

Tracker Tijd op doel ID-wissels Gem. fout (px)
Veriprajna fysica 68.3% 4 26.2
B1: volg hoogste betrouwbaarheid 43.8% 7 193.0
B2: verhoogde betrouwbaarheidsdrempel 30.0% 1 245.1

Het getal dat de stelling draagt, is het orthogonaliteitsresultaat. Op de synthetische clean-set verliest het verhogen van de betrouwbaarheidsdrempel (B2) 43,2% van de echte ballen met lage betrouwbaarheid, terwijl fysica de missers op de clean-set beperkt tot 2,3%, wat neerkomt op een acquisitielatentie van één frame en geen vals-negatief is. Draaien aan de betrouwbaarheidsknop ruilt de ene fout in voor de andere. Fysica werkt er orthogonaal op. (B2's enkele ID-wissel op echt beeldmateriaal is een artefact van het feit dat het bij 30% op doel nauwelijks iets volgt, geen overwinning.)

Wat deze demo niet doet

  • Het is een uitvoerbare demo die het poortmechanisme bewijst, geen geïmplementeerde productiepijplijn.
  • De bedrieger met het kale hoofd is een door de auteur geïnjecteerde reproductie van het incident uit 2020, geen organische detectorruis die live is vastgelegd.
  • Het traject voor echt beeldmateriaal bevindt zich naar waarheid in beeldruimte (een 2D-Kalman-filter), geen gekalibreerd 3D-wereldruimtefilter, omdat een enkele ongekalibreerde clip geen metrische diepte heeft.
  • De baselines vertegenwoordigen de fysica-naïeve foutmodusklasse (B1 en B2), geen met naam genoemde leverancier. We claimen niet beter te tracken dan Pixellot, Veo, Spiideo of enig commercieel product, en Pixellots latere firmware heeft het letterlijke geval van het kale hoofd al verholpen.
  • YOLO11x wordt gebruikt als de uitwisselbare detector op de echte clip, offline. We bouwen of verbeteren de detector niet.
  • De parallaxpoort voor halfgeleiders en de reflectiepoort voor productie zijn een uitbreidingspad met inplugbare interfaces, uitgesteld en hier niet gedemonstreerd.
  • Er worden geen klanten, implementaties, competities of omroepen geïmpliceerd. Het Inverness-incident uit 2020 en SoccerNet zijn geciteerde openbare referenties, niet onze klanten.
  • De auditverteller is adviserend. Hij verklaart beslissingen; hij neemt ze nooit.

Vragen die engineering- en productteams stellen

Is dit niet gewoon een betere detector, of een wrapper rond YOLO?

Nee. Plumbline bevindt zich stroomafwaarts van welke detector u ook al gebruikt en beslist welke van de kandidaatdetecties vertrouwd kunnen worden. In de demo draait dezelfde poortcode op een gesimuleerde black-box-detector voor de synthetische scènes en op echte YOLO11x-detecties voor de uitzendclip. We raken de uitvoerkwaliteit van de detector niet aan. Het product is de deterministische poortlaag eromheen, waardoor de waarde behouden blijft, zelfs als de onderliggende detector verbetert.

Waarom verhoogt u niet gewoon de betrouwbaarheidsdrempel om de valse bal te laten vallen?

Omdat dat aan de verkeerde knop draaien is. Op de synthetische clean-set verliest het verhogen van de betrouwbaarheidsdrempel 43,2% van de echte ballen met lage betrouwbaarheid, terwijl de bedrieger met hoge betrouwbaarheid nog steeds wordt gepakt. De fysicapoorten werken orthogonaal op betrouwbaarheid: ze beperkten hun missers op de clean-set tot 2,3%, wat eerder een acquisitielatentie van één frame is dan een gemiste bal. U kunt een echte bal niet van een bedrieger scheiden louter op basis van de score wanneer de bedrieger hoger scoort.

Werkt het daadwerkelijk op echt beeldmateriaal, of alleen op een simulatie?

Beide, en we houden die twee duidelijk gescheiden. Bij een gecontroleerde synthetische run met bekende grondwaarheid (seed 7) behield de fysicalaag 97,7% tijd op doel (time-on-target) tegenover 80,3% voor follow-highest-confidence en 40,2% voor de verhoogde drempelwaarde. Op een echte uitzendclip van 240 frames met echte YOLO11x-detecties hielden dezelfde poorten de bal vast gedurende 68,3% van de frames tegenover 43,8% en 30,0%. Het cijfer voor echt beeldmateriaal ligt eerlijk lager omdat echte video moeilijker is. We citeren het synthetische cijfer nooit als een resultaat uit de echte wereld.

Hoe weet ik dat de poorten hebben beslist, en niet een taalmodel?

De drie poorten zijn gewone numpy- en scipy-code buiten enig model: een kinematische Kalman/UKF-poort (accepteer onder 3 sigma, verwerp boven 5 sigma), een consistentiepoort voor optische flow en een geometrische perspectiefpoort. Vertrouwen hangt niet af van de zelfrapportage van een model. Er is een optionele auditverteller die de poorttelemetrie omzet in een duidelijke samenvatting, maar deze is uitsluitend adviserend en bevindt zich nooit in het acceptatie- of verwerpingspad, en valt terug op een deterministische samenvatting via templates wanneer er geen sleutel aanwezig is.

Kan ik zien waarom een specifieke detectie werd geaccepteerd of verworpen?

Ja. Elke beslissing bevat een geregistreerde fysicarede. Het geëxporteerde beslissingslogboek legt de seed, het scenario, het detector-id en de poortdrempelwaarden vast in de header, en vermeldt vervolgens per frame elke kandidaat met zijn klasse en betrouwbaarheid, het numerieke oordeel van elke poort en de duidelijke reden (bijvoorbeeld: Mahalanobis 82 sigma boven de 5 sigma-lijn, kinematisch onmogelijk), de uiteindelijke actie en het vergrendelde spoor. Het exporteert als JSON of HTML.

Is dit klaar voor productie, en verslaat het Pixellot of Veo?

Nee op beide vragen. Dit is een uitvoerbare demo die het poortmechanisme aantoont, geen geïmplementeerde productiepijplijn. De baselines die we verslaan behoren tot de klasse van fysica-naïeve foutmodi (volg hoogste betrouwbaarheid en verhoog de drempelwaarde), niet een met naam genoemde leverancier. We claimen niet beter te tracken dan een commercieel product, en de bekende cameraleveranciers hebben het specifieke incident met de kale grensrechter uit 2020 al verholpen in latere firmware. De bedrieger met het kale hoofd in de demo is een door de auteur geïnjecteerde reproductie van dat gedocumenteerde incident, geen organische detectorruis die live is vastgelegd.

Technisch onderzoek

Het onderzoek achter deze demo — de architectuur, het verificatieontwerp en de enterprise-blauwdruk.

Social

Ook gepubliceerd op

Plaats een fysicapoort tussen uw detector en uw actiesysteem

Als een geautomatiseerde visuele beslissing in uw wereld aansprakelijkheid met zich meebrengt, is de foutmodus fysica, geen betrouwbaarheid.

We hebben Plumbline gebouwd om te laten zien dat een deterministische poortlaag een fysiek onmogelijke detectie kan verwerpen en daarvoor een archiveerbare reden kan achterlaten. Hetzelfde raamwerk kan een andere reeks fysische wetten hanteren: een parallaxpoort voor een halfgeleiderfabriek, een reflectiepoort voor een productielijn. Vertel ons welke beperking uw detector blijft schenden en we onderzoeken samen of een poortlaag passend is.

Review van visuele foutmodi

  • ✓ Breng in kaart waar de betrouwbaarheid van uw detector en de fysica niet overeenstemmen
  • ✓ Identificeer de fysiek onmogelijke detecties waarop u vandaag handelt
  • ✓ Definieer de toepasselijke kinematische, flow- en geometrische randvoorwaarden
  • ✓ Bepaal de omvang van het audittraject dat een aansprakelijkheidsgevoelige beslissing vereist

Bouw van de fysicapoortlaag

  • ✓ Deterministische poorten als inspecteerbare code buiten enig model
  • ✓ Detector-agnostisch: behoud de detector die u al gebruikt
  • ✓ Auditlogboek per beslissing met een gedocumenteerde fysicarede
  • ✓ Kwaliteitsmetrieken voor tracking die standhouden naarmate de detector verbetert