Dokumentasi
Semuanya berjalan pada mesin anda: pasang, halakan kamera kepadanya, dan tala bila ia dibenarkan membuat panggilan. Dikumpulkan mengikut apa yang anda cuba lakukan.
Daripada tiada apa-apa kepada kad di skrin
Satu arahan memasang klien, pemberat model dan shim. Satu-satunya kelayakan dalam seluruh sistem ialah kunci Ximilar anda.
Skrip pemasangan
Mencipta venv dalam ~/.cardstream, mengesahkan wheel keluaran berdasarkan checksumnya, memuat turun pemberat model dan meletakkan kedua-dua arahan dalam PATH anda. Cara lain (wheel, Docker, kod sumber) ada di halaman muat turun.
$ curl -fsSL https://raw.githubusercontent.com/Ximilar-com/cardstream/main/scripts/install.sh | sh Semua cara pemasangan → Pemasangan manual
Checkout repositori dan pip juga boleh digunakan. Tambahan adalah bebas antara satu sama lain: [client] ialah UI dan sumber video, manakala [onnx] atau [torch] menyediakan backend pengesan dan embedder.
$ git clone https://github.com/Ximilar-com/cardstream && cd cardstream $ pip install -e '.[client,onnx]'
Kunci Ximilar anda
Pengecaman dikuasakan oleh Ximilar collectibles/v2. XIMILAR_API_KEY ialah satu-satunya pemboleh ubah persekitaran yang dibaca; selebihnya ialah bendera.
$ export XIMILAR_API_KEY=your-key
Larian pertama
Membuka UI pelayar pada kamera web anda. Tunjukkan sekeping kad; overlay memaparkan mesin keadaan sedang berfikir dan padanan sebaik sahaja ia tiba.
$ cardstream-web # → http://127.0.0.1:8001
Semak apa yang anda ada
Kedua-dua arahan mencetak versinya dan keluar. Tiada fail model diperlukan, jadi ia berfungsi sebaik sahaja pemasangan selesai.
$ cardstream-web --version
cardstream 0.5.2 Tanpa antara muka, untuk set-up khas
Saluran pemprosesan yang sama tanpa pelayar: hasil dicetak ke terminal. Bendera yang sama seperti cardstream-web, satu proses di sebelah kamera.
$ cardstream-client --source 0 Suapkan sesi live anda
Sumber video boleh ditukar ganti dan analisisnya sama, tidak kira yang mana anda pilih. Semuanya ialah bendera; dialog tetapan boleh menala semula yang penting secara langsung.
Kamera web dan fail
Kamera web pelayar ialah lalai untuk cardstream-web; indeks kamera, fail video atau imej pegun berfungsi di mana-mana. Sesuai untuk menguji sebelum sesi live.
$ cardstream-web # kamera web pelayar $ cardstream-client --source clip.mp4
Tarik strim
Halakan ke kamera IP, pengekod atau perkhidmatan strim semula: suapan rtsp://, rtmp://, srt:// dan JPEG melalui ws://, dengan sambungan semula yang selang cubaannya bertambah hingga had tertentu.
$ cardstream-web --source rtsp://cam/stream1 Biarkan OBS menolak
Jalankan sebagai pendengar dan tambah satu output RTMP atau SRT tambahan dalam OBS. Memerlukan binari ffmpeg sistem (brew install ffmpeg).
$ cardstream-web --source rtmp://0.0.0.0:1935/live --listen Praisi menyempitkan carian
Permainan, kod set dan sistem tulisan disahkan secara setempat sebelum dihantar. Sentiasa berikan --alphabet apabila anda memberikan --game, kerana praisi permainan menghalang endpoint daripada mengesan abjad itu sendiri.
$ cardstream-web --game "Pokémon" --alphabet japanese --set-code M4
Dialog tetapan
Kategori, permainan, kod set, abjad dan ambang boleh ditala semula dari pelayar di tengah strim, tanpa mula semula, dan kawalannya membuat pengesahan yang sama seperti proses itu.
Tiga tetapan resolusi
Apa yang dirakam kamera, apa yang dihantar dan apa yang dianalisis ialah tiga nombor berasingan. Analisis berjalan pada saiz kecil; keratan pengecaman dipotong semula daripada bingkai penuh.
$ cardstream-web --camera-width 3840 --width 1280 Simpan sesi live, semak kemudian
Dimatikan secara lalai. Satu bendera menyimpan sejarah yang dibina oleh halaman itu (setiap kad yang anda tunjukkan, bersama keratannya) ke satu sesi dalam akaun Ximilar anda sendiri, jadi sesi live itu masih ada keesokan paginya.
Sejarah, dengan gambar kecil
UI pelayar menyenaraikan setiap kad yang anda tunjukkan, yang terbaharu di atas: gambar kecil keratan yang dicam, harganya dengan --price-stats, dan berapa lama ia berada dalam strim. Senarai itu disimpan pada mesin anda.
Simpan sesi live
--ximilar-stream NEW memulakan satu sesi dan mencetak ID-nya. Sejak itu setiap baris sejarah disimpan sepanjang sesi live berjalan: muat naik dibuat secara berkelompok di latar belakang, dicuba semula apabila berlaku ralat rangkaian dan tidak pernah melambatkan sesi live. Keluar dengan betul akan memuat naik baki dan menutup sesi itu.
$ cardstream-web --game "Pokémon" --alphabet latin \ --price-stats --ximilar-stream NEWMenyimpan sesi live, selengkapnya →
Apa yang dimuat naik
Baris dalam bentuk teks (kad, set, harga, tempoh dalam strim, panggilan berbayar di sebaliknya) dan keratan yang digunakan untuk mengecam setiap baris, paling besar 1024 px: gambar yang sudah pun diterima oleh panggilan pengecaman. --no-ximilar-stream-images mengehadkannya kepada teks. Akaun Ximilar anda memerlukan perkhidmatan Cards Cloud.
$ cardstream-web --ximilar-stream NEW --no-ximilar-stream-images Semak dalam aplikasi Ximilar
Setiap sesi masuk ke bahagian Cards Cloud dalam aplikasi Ximilar: apa yang anda tunjukkan dan bila, nilai sesi live itu, produk paling bernilai dan set teratas, serta setiap kad bersama keratannya. Tandakan yang terjual, betulkan padanan yang salah, tambah nota.
Buka aplikasi Ximilar →Sambung semula selepas mula semula
Berikan ID sesi menggantikan NEW dan sesi live diteruskan dalam sesi yang sama. Walaupun sesi itu telah ditutup apabila anda keluar dengan betul, ia hanya dibuka semula. Hanya permulaan sesi yang dicaj, jadi menyambung semula tidak dikenakan bayaran.
$ cardstream-web --ximilar-stream <session-id>
Ruang kerja pasukan
Sesi disimpan dalam ruang kerja lalai kunci API anda. Namakan ruang kerja lain dengan --ximilar-workspace, dan berikan ID yang sama apabila anda menyambung semula sesi yang disimpan di situ.
$ cardstream-web --ximilar-stream NEW \ --ximilar-workspace <workspace-id>
Satu panggilan pengecaman bagi setiap kad yang berbeza
Isyarat setempat (gerakan, pengesanan, penapis identiti) menentukan bila panggilan pengecaman benar-benar wajar. Inilah tetapan yang memastikan ia kekal jujur.
Ambang
Ambang hasil menghalang padanan yang lemah daripada muncul pada overlay; ambang persamaan menentukan kad yang sama atau kad baharu; forget-after mengosongkan ingatan setelah kad cukup lama tiada.
$ cardstream-web --result-threshold 0.35 Larian yang disyorkan
Segmentasi RF-DETR dengan penapis embedding ONNX: tetapan lalai yang disertakan. cardstream-web tanpa bendera menjalankan betul-betul ini setelah pemberat berada di tempatnya; menulisnya secara penuh menghasilkan saluran pemprosesan yang sama.
$ cardstream-web \ --segmentor-model model/segmentation/onnx/model.onnx \ --embed-model model/similarity/onnx/model.onnx
Kekalkan di localhost
Aplikasi setempat ini tidak memerlukan pengesahan dan menyimpan kunci API anda. --host secara lalai ialah 127.0.0.1. Biarkan begitu dan jangan sekali-kali dedahkan port itu kepada LAN.
“Model not found” semasa permulaan
Pemberat model dimuat turun secara berasingan dan bukan sebahagian daripada repositori. Skrip pemasangan dan imej Docker memuat turunnya; checkout biasa memerlukan pemberat diletakkan dalam model/segmentation/ dan model/similarity/, dan scripts/build-from-source.sh --models melakukannya untuk anda.
Nyatakan permainan yang anda tunjukkan
Sesi live untuk satu permainan tidak memerlukan endpoint meneka permainannya pada setiap panggilan. Namakan permainan itu dan carian menyempit kepadanya: jawapan lebih pantas, kurang cetakan yang salah. Berikan --alphabet bersamanya, kerana praisi permainan menghalang endpoint daripada mengesan sistem tulisan itu sendiri.
$ cardstream-web --game "Pokémon" --alphabet japanese
ffmpeg, apabila anda memerlukannya
--listen dan --ffmpeg memanggil binari ffmpeg sistem. Tarikan biasa berfungsi dengan pemasangan pip sahaja; set-up tolak dari OBS tidak.
Di luar tetapan lalai
Tukar model atau baca kodnya: seluruh saluran pemprosesan ialah satu pakej yang boleh dipasang.
Gunakan pemberat anda sendiri
Pengesanan dan penapis identiti dihalakan mengikut backend: keluarga model memilih kelas, sambungan fail memilih masa jalan. RF-DETR atau RT-DETRv2, .onnx atau direktori transformers.
Backend model →Zoo model
Setiap pemberat yang boleh dimuatkan oleh cardstream, dilatih oleh Ximilar dan diterbitkan di bawah Apache-2.0 bersama setiap keluaran: apa fungsi setiap satu, berapa pantas ia berjalan, dan lesennya.
Zoo model →Jawapan ringkas
Berapa kosnya, apa yang keluar dari mesin, kad apa yang dicamnya, dan dua arahan untuk membuangnya semula.
Baca soalan lazim →README dan isu
README merangkumi setiap bendera; isu ialah tempat untuk pepijat dan soalan.
Baca README →Keluaran dan artifak
Wheel, checksum dan skrip pemasangan, satu set bagi setiap keluaran, serta binaan Docker dan kod sumber.
Halaman muat turun →