cardstream
תכונות

ניתוח קלפים לסטרימרים. מהיר ומדויק.

cardstream הוא מכונת מצבים שעוטפת נקודת קצה לזיהוי קלפים. כל מה שמופיע כאן משפר את הזיהוי, או מוודא שהוא יקרה רק כשבאמת שווה לשלם עליו.

זיהוי

זיהוי קלפים בזמן אמת מכל שידור

ארבע נקודות קצה לזיהוי מאחורי מתג אחד: משחקי קלפי אספנות, קלפי ספורט, קלפים מדורגים בסלאב וקומיקס.

כל ההתאמה, באובייקט שטוח אחד

שם, שם מלא, סט, קוד סט, מספר קלף, סדרה, שנה ותת-קטגוריה מגיעים כאובייקט אחד לכל קלף מזוהה: מוכנים להקראה, לתיעוד או להעברה לכלים שלכם.

רמת ביטחון שאפשר לפעול לפיה

כל התאמה מגיעה עם המרחק הגולמי ועם דרגה High / Medium / Low (ספים ב-0.30 וב-0.40). מגדירים סף תוצאה, וקלפים שמתחתיו לעולם לא מגיעים לשכבת-העל.

התאמות חלופיות

כל תוצאה מגיעה עם עד ארבעה קלפים נוספים שזה היה יכול להיות. אם ההתאמה הראשונה שגויה, הנכונה בדרך כלל נמצאת ברשימה הקצרה הזאת.

מילוי מראש שמצמצם את החיפוש

מגדירים את המשחק, את קוד הסט או את מערכת הכתב, ונקודת הקצה מפסיקה לנחש אותם. הערכים נבדקים מקומית: שגיאת הקלדה נכשלת על המחשב שלכם במקום להחזיר בשקט הדפסה לא נכונה.

קטגוריה לכל שידור

דגל אחד, או חלון ההגדרות באמצע השידור: tcg, sport, slab או comics. במעבר, כל מילוי מראש שהקטגוריה החדשה לא מכירה נמחק, במקום לשלוח לה ערך שאין לה מה לעשות איתו.

חזית, גב וסיבוב

מאפיינים ידועים נשלחים יחד עם תמונת החיתוך, כך שנקודת הקצה מדלגת על מסווגים שהיא לא צריכה: פחות דברים לטעות בהם, תשובות מהירות יותר.

מנוע ההחלטות

ניתוח מהיר של שידורים חיים עם AI

מכונת מצבים אחת, משותפת לשתי צורות הפריסה. כל מה שכאן רץ על המעבד שלכם, לפני שמשהו יוצא מהמחשב.

מסנן תנועה

הפרש ממוצע בין פריימים קובע אם התמונה התייצבה. שום שלב בהמשך לא מופעל כל עוד הקלף עדיין זז בפריים.

מסנן זהות

מודל AI משווה, באמצעות הטמעה, כל קלף בפריים לקלף הקודם. הוא עונה על שאלה אחת: אותו קלף, או קלף חדש?

הגבלת קצב איתור בשלוש רמות

האיתור רץ לעיתים קרובות כשמשהו זז, לעיתים רחוקות כשקלף עומד במקום, וכמעט בכלל לא על משטח ריק. הרמות הן הגדרה לכל צד, לא קוד.

השהיה, בלי ניסיון חוזר, שכחה אחרי זמן

קלף שלא נמצאה לו התאמה לא נשלח שוב ושוב בלולאה; קלף שמוחזק בפריים לא מזוהה מחדש; קלף שנעדר מספיק זמן מנותח מחדש כשהוא חוזר.

שומר קריאות ו-watchdog

זיהוי אחד בכל רגע נתון, עם מרווח מינימלי ופסק זמן שמשחרר את הצינור אם נקודת הקצה נתקעת. קריאה איטית אף פעם לא עוצרת את השידור.

תוצאות מהירות במיוחד

מודלי ה-AI שמאחורי cardstream רצים על המחשב האישי שלכם. המערכת מהירה מאוד ולא צריך שום GPU.

קלט

מקורות וסוגי וידאו נתמכים

המקורות ניתנים להחלפה; הניתוח זהה בכל מקור שבוחרים.

מצלמות וקבצים

אינדקס של מצלמת רשת, קובץ וידאו, תמונה סטטית, או מצלמת הרשת של הדפדפן כשמריצים את ממשק הווב. טוב לבדיקת המערך לפני השידור.

משיכה: RTSP, RTMP, SRT

מכוונים אותו אל מצלמת IP, מקודד או שירות ריסטרים והוא מושך, עם התחברות מחדש בהשהיות מוגבלות כשהזרם נופל.

דחיפה: ישר מ-OBS

מריצים אותו כמאזין ונותנים ל-OBS לדחוף אליו RTMP או SRT: עוד פלט אחד לצד זה שמזין את פלטפורמת המכירה.

זרמי JPEG דרך WebSocket

למערכות בבנייה עצמית: כל תהליך שיכול לשלוח פריימי JPEG דרך socket הוא מקור תקין.

שלוש הגדרות רזולוציה

מה שהמצלמה מצלמת, מה שנשלח ומה שמנותח הם שלושה מספרים נפרדים. הניתוח רץ ברזולוציה קטנה וזולה; תמונת החיתוך שנשלחת לזיהוי נחתכת מחדש מהפריים המלא.

הפריימים נשארים שלכם

במצב צד-לקוח שום דבר לא יוצא מהמחשב מלבד תמונת חיתוך JPEG אחת לכל קלף שונה: לא השידור, לא הפריימים שמסביב. שמירת השידור בחשבון Ximilar שלכם היא דגל שמפעילים רק אם רוצים.

מודלים

המשקלים שלנו, או שלכם

מנתחים שידורים חיים עם המודל שהכנו למעבד (CPU). צריכים דיוק גבוה יותר או מהירות קיצונית? מאמנים מודל משלכם ופורסים אותו על GPU!

סגמנטציה עם RF-DETR

מודל האיתור שבברירת המחדל: ייצוא .onnx מכוונן של סגמנטציית מופעים דרך onnxruntime, בלי צורך ב-torch. המסכה נותנת את ארבע הפינות של הקלף, כך שתמונת החיתוך שמשלמים עליה מיושרת ונחתכת צמוד לקצה הקלף.

איתור עם RF-DETR / RT-DETRv2

תיבות תוחמות כחלופה שמפעילים לפי בחירה: ONNX בשביל מהירות, או תיקיית transformers / מזהה hub כשאתם עדיין משפרים כוונון.

המשקלים כלולים

מודל האיתור RF-DETR ומודל ההטמעה אומנו על ידי Ximilar ופורסמו ברישיון Apache-2.0. סקריפט ההתקנה מוריד אותם, כך שאין שלב אימון ביניכם לבין צינור עובד.

מנועי הטמעה

מודלי הטמעה ב-Torch, ב-ONNX או ב-LiteRT/TFLite למסנן הזהות: מריצים את סביבת הריצה שכבר יש לכם על המחשב.

ייבואים כבדים נטענים בעצלות

Torch אינו תלות של הליבה. מתקינים רק את התוספות שהמנועים שלכם צריכים, וכל השאר עדיין רץ.

כל שירות זיהוי

קריאת הזיהוי היא שלב אחד שאפשר להחליף. מכוונים אותה אל Ximilar, אל מזהה קנייני, או אל מודל שאתם מארחים בעצמכם.

הפעלה

תהליך אחד, ליד המצלמה

האיתור והמסננים רצים על המחשב שלכם, מחבילה אחת שמתקינים, וקריאת הזיהוי היחידה יוצאת ממנה ישירות אל ה-API.

שתי נקודות כניסה, צינור אחד

פקודה ללא ממשק למערכות ולסקריפטים, וממשק דפדפן מקומי כשרוצים לראות אותו עובד. שתיהן מקבלות את אותם דגלים ובונות את אותו צינור.

פרט גישה אחד, נשמר מקומית

מפתח Ximilar שלכם, שנקרא ממשתני הסביבה על המחשב שלכם. אין כאן חשבון לפתוח, אין שכבת ביניים שצריך לסמוך עליה, ואין מה להשאיר רץ חוץ מהתהליך עצמו.

שום דבר לא חוסם את הלולאה

פענוח JPEG, איתור, HTTP וכתיבה לדיסק רצים כולם מחוץ ללולאת האירועים. פריים איטי נזרק, הוא לא נכנס לתור של עיכוב שהולך וגדל.

חלון הגדרות חי

ספים, קטגוריה, משחק, קוד סט ומערכת כתב ניתנים לכוונון מהדפדפן באמצע השידור. כל פקד נוצר מרשימת הגדרות אחת, כך שהממשק והאימות לא יכולים לסטות זה מזה.

שכבת-על שנבנתה לשידורים

תג מצב, תיבה תוחמת, והיסטוריה של כל קלף שהצגתם, עם תמונה ממוזערת של כל אחד והזמן שנשאר בפריים, שדגל אחד שומר בחשבון Ximilar שלכם. ולוח דיבאג כשרוצים לראות את המסננים חושבים.

חבילת בדיקות לא מקוונת

כל חבילת הבדיקות רצה בלי רשת ובלי קובץ מודל, עם תחליפים לסשנים של ONNX ולגלאים. עושים fork ועדיין אפשר לדעת אם משהו נשבר.

קוד פתוח. אירוח עצמי. השידור שלכם, הכלים שלכם.

בלי פלטפורמה באמצע, בלי רישיון לכל משתמש: מחברים את ה-API של Ximilar או מערכת זיהוי משלכם, ו-cardstream קורא לה פעם אחת לכל קלף שונה במקום פעם אחת לכל פריים. בין אם אתם עושים ברייקים ב-Whatnot, מריצים שידור בסגנון Fanatics Live או משדרים מערך מכירות חי משלכם, אפשר להריץ את cardstream כבר הערב על החומרה שכבר יש לכם.