cardstream
Tính năng

Phân tích thẻ cho streamer. Nhanh và chính xác.

cardstream là một máy trạng thái bọc quanh một endpoint nhận diện thẻ. Mọi thứ bên dưới hoặc làm cho việc nhận diện tốt hơn, hoặc bảo đảm nó chỉ diễn ra khi thật sự đáng trả tiền.

Nhận diện

Nhận diện thẻ theo thời gian thực từ mọi stream

Bốn endpoint nhận diện sau một công tắc duy nhất: thẻ bài TCG, thẻ thể thao, slab đã chấm điểm và truyện tranh.

Toàn bộ kết quả khớp, trong một đối tượng phẳng

Tên, tên đầy đủ, set, mã set, số thẻ, series, năm và danh mục con được trả về trong một đối tượng cho mỗi thẻ đã nhận diện: sẵn để đọc lên, ghi log hoặc đẩy vào công cụ của riêng bạn.

Độ tin cậy để bạn dựa vào mà hành động

Mỗi kết quả khớp mang theo khoảng cách thô và một mức High / Medium / Low (ranh giới ở 0.30 và 0.40). Đặt một ngưỡng kết quả, và những thẻ dưới ngưỡng sẽ không bao giờ lên overlay.

Các kết quả thay thế

Mỗi kết quả đi kèm tối đa bốn tấm thẻ khác mà nó có thể là. Nếu kết quả đứng đầu sai thì tấm đúng thường nằm trong danh sách ngắn đó.

Điền sẵn để thu hẹp tìm kiếm

Cho nó biết game, mã set hoặc hệ chữ viết, và endpoint thôi phải đoán những thứ đó. Các giá trị được kiểm tra cục bộ: gõ sai thì báo lỗi ngay trên máy bạn, thay vì lặng lẽ trả về nhầm bản in.

Mỗi buổi live một danh mục

Một cờ, hoặc hộp thoại cài đặt ngay giữa stream: tcg, sport, slab hoặc comics. Khi đổi, mọi giá trị điền sẵn mà danh mục mới không biết sẽ bị bỏ đi, thay vì gửi cho nó một giá trị nó không dùng được.

Mặt trước, mặt sau và góc xoay

Các thuộc tính đã biết được gửi kèm ảnh cắt, để endpoint bỏ qua những bộ phân loại không cần thiết: bớt thứ có thể sai, trả lời nhanh hơn.

Bộ máy quyết định

Phân tích livestream nhanh bằng AI

Một máy trạng thái duy nhất, dùng chung cho cả hai kiểu triển khai. Mọi thứ ở đây chạy trên CPU của bạn, trước khi bất cứ thứ gì rời khỏi máy.

Bộ lọc chuyển động

Phép so sánh trung bình giữa các khung hình cho biết cảnh đã đứng yên chưa. Không bước nào phía sau được kích hoạt khi tấm thẻ còn đang di chuyển trong khung hình.

Bộ lọc trùng thẻ

Mỗi tấm thẻ trong khung hình được một mô hình AI so sánh với tấm trước đó thông qua embedding. Nó trả lời đúng một câu hỏi: vẫn thẻ đó, hay thẻ mới?

Điều tiết việc phát hiện theo ba mức

Việc phát hiện chạy thường xuyên khi có thứ gì đó chuyển động, thưa thớt khi thẻ đứng yên, và hầu như không chạy khi tấm lót trống. Các mức này là cấu hình riêng cho từng phía, không nằm cứng trong mã.

Cooldown, no-retry, forget-after

Một tấm thẻ không khớp được sẽ không bị thử lại liên tục; một tấm thẻ đang được giữ trong khung hình không bị nhận diện lại; một tấm thẻ đã vắng mặt đủ lâu sẽ được phân tích lại từ đầu khi nó quay lại.

Chặn lượt gọi chồng nhau và watchdog

Mỗi lúc chỉ có một lượt nhận diện đang chạy, với một khoảng cách tối thiểu và một thời gian chờ để gỡ kẹt pipeline nếu endpoint bị treo. Một lượt gọi chậm không bao giờ làm đứng stream.

Kết quả siêu nhanh

Các mô hình AI đứng sau cardstream chạy trên máy tính cá nhân của bạn. Hệ thống rất nhanh và bạn không cần GPU nào cả.

Đầu vào

Các nguồn và loại video được hỗ trợ

Nguồn hình thay được tùy ý; dù bạn chọn nguồn nào thì việc phân tích vẫn y hệt.

Camera và tệp

Chỉ số của một webcam, một tệp video, một ảnh tĩnh, hoặc webcam của trình duyệt khi bạn chạy giao diện web. Rất hợp để thử cấu hình trước buổi live.

Kéo: RTSP, RTMP, SRT

Trỏ nó vào một camera IP, một encoder hoặc một dịch vụ restream và nó sẽ kéo luồng về, tự kết nối lại với thời gian chờ tăng dần có giới hạn khi luồng bị rớt.

Đẩy: OBS gửi thẳng sang

Chạy nó ở chế độ lắng nghe và để OBS đẩy RTMP hoặc SRT sang: thêm một đầu ra bên cạnh đầu ra đang phát lên sàn của bạn.

Luồng JPEG qua WebSocket

Dành cho các dàn máy tự chế: bất kỳ tiến trình nào gửi được khung hình JPEG qua socket đều là một nguồn hợp lệ.

Ba mức chỉnh độ phân giải

Thứ camera thu, thứ được gửi đi và thứ được phân tích là ba con số riêng. Việc phân tích chạy ở kích thước nhỏ và nhẹ; ảnh cắt gửi đi nhận diện được cắt lại từ khung hình đầy đủ.

Khung hình vẫn là của bạn

Ở chế độ client-side, không gì rời khỏi máy ngoài một ảnh cắt JPEG cho mỗi thẻ khác nhau: không phải cả stream, không phải các khung hình xung quanh. Lưu buổi live vào tài khoản Ximilar của bạn là một cờ do bạn tự bật.

Mô hình

Trọng số của chúng tôi, hoặc của bạn

Phân tích livestream bằng mô hình chúng tôi chuẩn bị sẵn cho CPU. Cần độ chính xác cao hơn hay tốc độ cực hạn? Hãy tự huấn luyện mô hình và triển khai trên GPU!

Phân đoạn bằng RF-DETR

Bộ định vị mặc định: một bản export .onnx phân đoạn thực thể đã finetune, chạy qua onnxruntime, không cần torch. Mặt nạ cho ra bốn góc của tấm thẻ, nên ảnh cắt tính phí được nắn thẳng và cắt sát mép thẻ.

Phát hiện bằng RF-DETR / RT-DETRv2

Khung bao là lựa chọn thay thế tùy chọn: ONNX để lấy tốc độ, hoặc một thư mục transformers / hub id khi bạn còn đang tinh chỉnh bản finetune.

Có sẵn trọng số

Bộ định vị RF-DETR và mô hình embedding do Ximilar huấn luyện và công bố theo Apache-2.0. Trình cài đặt tải chúng về, nên giữa bạn và một pipeline chạy được không có bước huấn luyện nào.

Các backend cho embedding

Mô hình embedding Torch, ONNX hoặc LiteRT/TFLite cho bộ lọc trùng thẻ: máy bạn đang có runtime nào thì chạy runtime đó.

Các import nặng chỉ nạp khi cần

Torch không phải là phụ thuộc của phần lõi. Chỉ cài những extra mà backend của bạn cần, mọi thứ còn lại vẫn chạy.

Dịch vụ nhận diện nào cũng được

Lượt gọi nhận diện là một bước có thể thay thế. Trỏ nó sang Ximilar, sang một dịch vụ nhận diện độc quyền, hoặc sang một mô hình bạn tự host.

Vận hành

Một tiến trình, ngay cạnh camera

Việc phát hiện và các bộ lọc chạy trên máy của bạn, từ một gói cài đặt duy nhất, còn lượt gọi nhận diện duy nhất thì đi thẳng từ đó đến API.

Hai điểm vào, một pipeline

Một lệnh headless cho các dàn máy và script, và một giao diện trình duyệt cục bộ khi bạn muốn nhìn nó làm việc. Cả hai nhận cùng các cờ và dựng cùng một pipeline.

Một thông tin xác thực, giữ tại chỗ

Key Ximilar của bạn, đọc từ biến môi trường trên chính máy bạn. Không phải tạo tài khoản nào ở đây, không có tầng trung gian nào phải tin, không gì phải giữ cho chạy ngoài chính tiến trình đó.

Không gì chặn vòng lặp

Giải mã JPEG, phát hiện, HTTP và ghi đĩa đều chạy ngoài event loop. Một khung hình chậm sẽ bị bỏ, chứ không xếp hàng thành một độ trễ ngày càng phình ra.

Hộp thoại cài đặt trực tiếp

Các ngưỡng, danh mục, game, mã set và hệ chữ viết đều chỉnh lại được từ trình duyệt ngay giữa stream. Mọi nút điều khiển được sinh ra từ một danh sách mô tả duy nhất, nên giao diện và phần kiểm tra giá trị không thể lệch nhau.

Một overlay làm ra cho stream

Nhãn trạng thái, khung bao và lịch sử mọi tấm thẻ bạn đã đưa lên, gồm ảnh thu nhỏ của từng thẻ và thời gian nó ở trong khung hình, mà chỉ một cờ là lưu được vào tài khoản Ximilar của bạn. Thêm một bảng debug khi bạn muốn xem các bộ lọc suy nghĩ.

Bộ test chạy offline

Cả bộ test chạy không cần mạng hay tệp mô hình: có đối tượng giả cho các phiên ONNX và các bộ phát hiện. Fork về, bạn vẫn biết được mình có làm hỏng gì không.

Mã nguồn mở. Tự host. Stream của bạn, hệ thống của bạn.

Không có nền tảng trung gian, không có giấy phép tính theo người dùng: kết nối API của Ximilar hoặc hệ thống nhận diện của riêng bạn, và cardstream chỉ gọi một lượt cho mỗi thẻ khác nhau chứ không phải cho mỗi khung hình. Dù bạn break trên Whatnot, chạy một buổi live kiểu Fanatics Live hay tự livestream bán hàng trên kênh riêng, hãy chạy cardstream ngay tối nay trên chiếc máy bạn đang có.