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.
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.
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.
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.
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.
É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.