cardstream
Funktioner

Kortanalyse til streamere. Hurtig og præcis.

cardstream er en tilstandsmaskine bygget rundt om et endpoint til identifikation af kort. Alt herunder gør enten identifikationen bedre eller sørger for, at den kun sker, når den faktisk er pengene værd.

Genkendelse

Identifikation af kort i realtid fra enhver stream

Fire identifikationsendpoints bag én omskifter: samlekortspil, sportskort, graderede slabs og tegneserier.

Hele matchet i ét objekt

Navn, fuldt navn, sæt, sætkode, kortnummer, serie, år og underkategori kommer som ét objekt pr. identificeret kort, klar til at blive læst højt, logget eller sendt videre til dine egne værktøjer.

Konfidens, du kan handle på

Hvert match har den rå afstand og et niveau, High / Medium / Low (grænser ved 0.30 og 0.40). Sæt en resultattærskel, og kort under den når aldrig frem til overlayet.

Alternative match

Hvert resultat kommer med op til fire andre kort, det kunne have været. Er det øverste match forkert, er det rigtige som regel på den korte liste.

Forhåndsvalg, der indsnævrer søgningen

Angiv spillet, sætkoden eller skriftsystemet, og endpointet holder op med at gætte dem. Værdierne valideres lokalt: En tastefejl bliver fanget på din egen computer i stedet for i det stille at give den forkerte udgave.

Kategori pr. show

Ét flag, eller indstillingsdialogen midt i streamen: tcg, sport, slab eller comics. Når du skifter, droppes de forhåndsvalg, den nye kategori ikke kender, i stedet for at den får en værdi, den ikke kan bruge.

Forside, bagside og rotation

Kendte attributter sendes med udsnittet, så endpointet springer de klassificeringer over, det ikke har brug for: færre ting, der kan gå galt, og hurtigere svar.

Beslutningsmotoren

Hurtig analyse af livestreams med AI

Én tilstandsmaskine, som begge driftsformer deler. Alt her kører på din egen CPU, før noget forlader computeren.

Bevægelsesfilter

En gennemsnitlig forskel mellem billeder viser, om scenen er faldet til ro. Intet længere nede i kæden går i gang, mens kortet stadig bevæger sig gennem billedet.

Identitetsfilter

Hvert kort i billedet sammenlignes med det forrige af en AI-model ved hjælp af embeddings. Den svarer på ét spørgsmål: samme kort eller nyt kort?

Drosling af detektionen i tre trin

Detektionen kører ofte, mens noget bevæger sig, sjældent på et stillestående kort og næsten slet ikke på en tom måtte. Trinnene er konfiguration, du sætter for hver side af opsætningen, ikke noget, der er skrevet ind i koden.

Cooldown, no-retry, forget-after

Et kort, der ikke kunne matches, forsøges ikke igen i en løkke. Et kort, der holdes i billedet, identificeres ikke på ny. Et kort, der har været væk længe nok, analyseres forfra, når det kommer tilbage.

Kaldspærre og watchdog

Én identifikation ad gangen, med et minimumsinterval og en timeout, der river pipelinen løs, hvis endpointet hænger. Et langsomt kald får aldrig streamen til at gå i stå.

Lynhurtige resultater

AI-modellerne bag cardstream kører på din egen computer. Systemet er meget hurtigt, og du behøver ingen GPU.

Input

Understøttede videokilder og -typer

Kilderne kan udskiftes, og analysen er den samme, uanset hvilken du vælger.

Kameraer og filer

Et webcam-indeks, en videofil, et stillbillede eller browserens webcam, når du kører webbrugerfladen. Godt til at teste en opsætning før showet.

Pull: RTSP, RTMP, SRT

Peg det mod et IP-kamera, en encoder eller en restreamer, så henter det selv streamen og kobler på igen med begrænset backoff, når signalet falder ud.

Push: OBS direkte ind

Kør det som lytter, og lad OBS sende RTMP eller SRT til det: ét ekstra output ved siden af det, der sender til din markedsplads.

WebSocket-feeds med JPEG

Til hjemmebyggede setups: Enhver proces, der kan sende JPEG-billeder over en socket, er en gyldig kilde.

Tre opløsninger at skrue på

Hvad kameraet optager, hvad der sendes, og hvad der analyseres, er tre forskellige tal. Analysen kører småt og billigt, og det udsnit, der sendes til identifikation, skæres ud af det fulde billede.

Billederne bliver hos dig

I klienttilstand forlader intet computeren ud over ét JPEG-udsnit pr. nyt kort: ikke streamen, ikke billederne omkring det. At gemme showet på din Ximilar-konto er et flag, du selv slår til.

Modeller

Vores vægte eller dine

Analyser livestreams med vores færdige model til CPU. Har du brug for højere nøjagtighed eller ekstrem hastighed? Træn din egen, og kør den på GPU!

RF-DETR-segmentering

Standardmodellen til lokalisering: en finjusteret .onnx-eksport til instanssegmentering gennem onnxruntime, uden krav om torch. Masken giver kortets fire hjørner, så det udsnit, du betaler for, rettes op og skæres tæt til kortets kant.

RF-DETR / RT-DETRv2-detektion

Bounding boxes som det valgfrie alternativ: ONNX for hastighedens skyld, eller en transformers-mappe eller et hub-id, mens du stadig arbejder på en finjustering.

Vægtene følger med

RF-DETR-lokaliseringsmodellen og embeddingmodellen er trænet af Ximilar og udgivet under Apache-2.0. Installationsscriptet henter dem, så der er intet træningstrin mellem dig og en pipeline, der virker.

Backends til embeddings

Embeddingmodeller i Torch, ONNX eller LiteRT/TFLite til identitetsfilteret: Brug den runtime, du allerede har på computeren.

Tunge imports indlæses først ved behov

Torch er ikke en afhængighed i kernen. Installer kun de extras, dine backends har brug for, og alt andet kører stadig.

Enhver identifikationstjeneste

Identifikationskaldet er ét udskifteligt trin. Peg det mod Ximilar, mod et proprietært genkendelsessystem eller mod en model, du selv hoster.

I drift

Én proces ved siden af kameraet

Detektionen og filtrene kører på din computer fra en enkelt installerbar pakke, og det ene identifikationskald går direkte derfra til API’et.

To indgange, én pipeline

En headless kommando til faste setups og scripts samt en lokal brugerflade i browseren, når du vil se det arbejde. Begge tager de samme flag og bygger den samme pipeline.

Én adgangsoplysning, opbevaret lokalt

Din Ximilar-nøgle, læst fra miljøet på din egen computer. Ingen konto, der skal oprettes her, intet mellemled, du skal stole på, og intet andet at holde kørende end selve processen.

Intet blokerer løkken

JPEG-dekodning, detektion, HTTP og skrivning til disk kører alt sammen uden for event-loopet. Et langsomt billede bliver droppet, ikke lagt i kø til en voksende forsinkelse.

Indstillingsdialog, der virker live

Tærskler, kategori, spil, sætkode og skriftsystem kan justeres fra browseren midt i streamen, og hvert felt genereres fra én liste af beskrivelser, så brugerfladen og valideringen ikke kan komme ud af trit.

Et overlay bygget til streams

Tilstandsmærke, bounding box og en historik over hvert kort, du har vist, med en miniature og den tid, kortet blev i billedet. Ét flag gemmer historikken på din Ximilar-konto. Et debugpanel, når du vil se filtrene tænke.

Offline testpakke

Hele testpakken kører uden netværk og uden modelfiler, med fakes for ONNX-sessionerne og detektorerne. Fork repoet, og du kan stadig se, om du har ødelagt noget.

Open source. Selvhostet. Din stream, din stack.

Ingen platform i midten og ingen licens pr. bruger: Tilslut Ximilars API eller dit eget identifikationssystem, så kalder cardstream det én gang pr. nyt kort i stedet for én gang pr. billede. Uanset om du kører breaks på Whatnot, holder et show i stil med Fanatics Live eller streamer fra dit eget liveshopping-setup, kan du køre cardstream i aften på den hardware, du allerede har.