Dokumentasjon
Alt kjører på maskinen din: installer den, rett et kamera mot den, og bestem når den får lov til å sende et kall. Sortert etter hva du prøver å gjøre.
Fra ingenting til et kort på skjermen
Én kommando installerer klienten, modellvektene og startskriptene. Den eneste påloggingsinformasjonen i hele systemet er Ximilar-nøkkelen din.
Installasjonsskriptet
Oppretter et virtuelt miljø i ~/.cardstream, kontrollerer wheel-filen fra utgivelsen mot sjekksummene, laster ned modellvektene og legger begge kommandoene på PATH. Andre måter (wheel, Docker, kildekode) finner du på nedlastingssiden.
$ curl -fsSL https://raw.githubusercontent.com/Ximilar-com/cardstream/main/scripts/install.sh | sh Alle installasjonsmåter → Manuell installasjon
En utsjekk av repoet og pip fungerer også. Tilleggene er uavhengige av hverandre: [client] er grensesnittet og kildene, [onnx] eller [torch] gir kjøremiljøene for detektoren og embedding-modellen.
$ git clone https://github.com/Ximilar-com/cardstream && cd cardstream $ pip install -e '.[client,onnx]'
Ximilar-nøkkelen din
Identifiseringen drives av Ximilar collectibles/v2. XIMILAR_API_KEY er den eneste miljøvariabelen som leses; alt annet er flagg.
$ export XIMILAR_API_KEY=your-key
Første kjøring
Åpner brukergrensesnittet i nettleseren med webkameraet ditt. Hold opp et kort: overlegget viser tilstandsmaskinen som tenker, og treffet når det kommer.
$ cardstream-web # → http://127.0.0.1:8001
Sjekk hva du har
Begge kommandoene skriver ut versjonen og avslutter. Ingen modellfiler trengs, så dette fungerer så snart installasjonen er ferdig.
$ cardstream-web --version
cardstream 0.5.2 Uten grensesnitt, for faste oppsett
Den samme pipelinen uten nettleser: resultatene skrives ut i terminalen. Samme flagg som cardstream-web, én prosess ved siden av kameraet.
$ cardstream-client --source 0 Send inn showet ditt
Kildene er utskiftbare, og analysen er den samme uansett hvilken du velger. Alt er flagg; de viktigste kan justeres direkte i innstillingsdialogen.
Webkameraer og filer
Webkameraet i nettleseren er standard for cardstream-web; en indeks, en videofil eller et stillbilde fungerer overalt. Fint for å teste før showet.
$ cardstream-web # webkamera i nettleseren $ cardstream-client --source clip.mp4
Hent en strøm
Pek den mot et IP-kamera, en koder eller en restreaming-tjeneste: rtsp://, rtmp://, srt:// og ws://-strømmer med JPEG, med nye tilkoblingsforsøk og begrenset backoff.
$ cardstream-web --source rtsp://cam/stream1 La OBS sende
Kjør den som lytter, og legg til én ekstra RTMP- eller SRT-utgang i OBS. Krever systemets ffmpeg-program (brew install ffmpeg).
$ cardstream-web --source rtmp://0.0.0.0:1935/live --listen Forhåndsutfylling snevrer inn søket
Spill, settkode og skriftsystem kontrolleres lokalt før de sendes. Oppgi alltid --alphabet når du oppgir --game, for når spillet er fylt ut på forhånd, slutter endepunktet å gjenkjenne alfabetet selv.
$ cardstream-web --game "Pokémon" --alphabet japanese --set-code M4
Innstillingsdialogen
Kategori, spill, settkode, alfabet og terskler kan justeres fra nettleseren midt i strømmen, uten omstart, og kontrollene har den samme valideringen som prosessen.
Tre innstillinger for oppløsning
Det kameraet tar opp, det som sendes, og det som analyseres, er tre ulike tall. Analysen kjører i liten størrelse; utsnittet til identifisering klippes på nytt fra hele bildet.
$ cardstream-web --camera-width 3840 --width 1280 Lagre showet, gå gjennom det senere
Av som standard. Ett flagg lagrer historikken som siden bygger opp, hvert kort du har vist med utsnittet sitt, i en økt på din egen Ximilar-konto, så showet fortsatt er der morgenen etter.
Historikken, med miniatyrbilder
Brukergrensesnittet i nettleseren viser hvert kort du har vist, med det nyeste først: et miniatyrbilde av utsnittet som ble identifisert, prisen med --price-stats og hvor lenge kortet var på strømmen. Listen ligger på maskinen din.
Lagre et show
--ximilar-stream NEW starter en økt og skriver ut ID-en. Fra da av lagres hver rad i historikken mens showet pågår: opplastingene samles i bakgrunnen, prøves på nytt ved nettverksfeil og holder aldri showet igjen. En ryddig avslutning laster opp resten og lukker økten.
$ cardstream-web --game "Pokémon" --alphabet latin \ --price-stats --ximilar-stream NEWAlt om å lagre et show →
Hva som lastes opp
Radene som tekst (kort, sett, pris, tid på strømmen, de betalte kallene bak) og utsnittet hver rad ble identifisert fra, på maks 1024 px: det samme bildet som identifiseringskallet allerede fikk. Med --no-ximilar-stream-images lagres bare tekst. Ximilar-kontoen din trenger Cards Cloud-tjenesten.
$ cardstream-web --ximilar-stream NEW --no-ximilar-stream-images Gå gjennom det i Ximilar-appen
Hver økt havner i Cards Cloud-delen av Ximilar-appen: hva du viste og når, verdien av showet, de mest verdifulle produktene og de vanligste settene, og hvert kort med utsnittet sitt. Merk det som ble solgt, rett et feil treff, legg til notater.
Åpne Ximilar-appen →Fortsett etter en omstart
Oppgi økt-ID-en i stedet for NEW, så fortsetter showet i den samme økten. Selv om en ryddig avslutning lukket den, åpnes den bare igjen. Bare oppstart av en økt faktureres, så det koster ingenting å fortsette.
$ cardstream-web --ximilar-stream <session-id>
Felles arbeidsområder for team
En økt lagres i standardarbeidsområdet til API-nøkkelen din. Angi et annet med --ximilar-workspace, og oppgi den samme ID-en når du fortsetter en økt som er lagret der.
$ cardstream-web --ximilar-stream NEW \ --ximilar-workspace <workspace-id>
Ett identifiseringskall per unikt kort
Lokale signaler (bevegelse, deteksjon, identitetsfilteret) avgjør når et identifiseringskall faktisk er nødvendig. Dette er innstillingene som holder det slik.
Terskler
En terskel for resultatene holder svake treff unna overlegget; likhetsterskelen avgjør om det er samme kort eller et nytt; forget-after tømmer minnet når et kort har vært borte lenge nok.
$ cardstream-web --result-threshold 0.35 Anbefalt oppsett
RF-DETR-segmentering med et identitetsfilter basert på ONNX-embeddings: standardinnstillingene som følger med. En cardstream-web uten flagg kjører akkurat dette når modellvektene er på plass; å skrive det ut gir den samme pipelinen.
$ cardstream-web \ --segmentor-model model/segmentation/onnx/model.onnx \ --embed-model model/similarity/onnx/model.onnx
Hold den på localhost
Den lokale appen har ingen autentisering og holder på API-nøkkelen din. --host er 127.0.0.1 som standard: la det være slik, og eksponer aldri porten for et lokalnett.
«Model not found» ved oppstart
Modellvektene lastes ned separat og er ikke en del av repoet. Installasjonsskriptet og Docker-imaget henter dem; en ren utsjekk trenger dem lagt i model/segmentation/ og model/similarity/, og scripts/build-from-source.sh --models gjør det for deg.
Oppgi spillet du viser
Et show med ett spill trenger ikke at endepunktet gjetter spillet ved hvert kall. Oppgi det, så snevres søket inn til det spillet: raskere svar, færre feil utgaver. Oppgi --alphabet sammen med det, for når spillet er fylt ut på forhånd, slutter endepunktet å gjenkjenne skriftsystemet selv.
$ cardstream-web --game "Pokémon" --alphabet japanese
ffmpeg, når du trenger det
--listen og --ffmpeg kaller systemets ffmpeg-program. Vanlig henting fungerer med en ren pip-installasjon; oppsettet der OBS sender inn, gjør det ikke.
Utover standardinnstillingene
Bytt modeller eller les koden: hele pipelinen er én installerbar pakke.
Bruk dine egne modellvekter
Deteksjonen og identitetsfilteret rutes etter kjøremiljø: modellfamilien velger klassen, filendelsen velger kjøremiljøet. RF-DETR eller RT-DETRv2, .onnx eller en transformers-mappe.
Kjøremiljøer for modeller →Modellsamlingen
Alle modellvektene cardstream kan laste, trent av Ximilar og publisert under Apache-2.0 sammen med utgivelsene: hva hver av dem gjør, hvor raskt den kjører, og hvilken lisens den har.
Modellsamlingen →Korte svar
Hva det koster, hva som forlater maskinen, hvilke kort den kjenner igjen, og de to kommandoene som fjerner den igjen.
Les vanlige spørsmål →README og issues
README-en dekker hvert flagg; issues er stedet for feil og spørsmål.
Les README-en →Utgivelser og filer
Wheel-filer, sjekksummer og installasjonsskriptet, ett sett per utgivelse, pluss Docker og bygging fra kildekode.
Nedlastingssiden →