יומן שינויי תוכנה 2021 - 2023
2023.6 (18/4/23)
כיול ChArUco קל וויזואליזציה של כיול
- כיול ChArUco נחשב לטוב יותר מכיול לוח משבצות כי הוא מתמודד עם הסתרות, זיהויי פינות גרועים, ולא דורש שכל הלוח יהיה גלוי. זה הופך את תהליך לכידת פינות לוח הכיול קרוב לקצוות ולפינות של התמונות שלך לקל הרבה יותר. זה קריטי לאמידת מקדמי העיוות.
- תהליך הכיול של Limelight מספק משוב בכל שלב, ויבטיח שתעשה את כל מה שנדרש לתוצאות כיול טובות. הושקע מאמץ רב כדי להפוך את התהליך הזה לחסין ככל האפשר.
- החשוב ביותר, אתה יכול לראות את תוצאות הכיול שלך ממש ליד הכיול הדיפולטיבי. במבט חטוף, אתה יכול להבין האם תוצאת הכיול שלך סבירה או לא.
- אתה יכול גם להשתמש בלוח המחוונים של הכיול ככלי למידה. אתה יכול לשנות קבצי תוצאות כיול שהורדת ולהעלות אותם מחדש כדי ללמוד איך מטריצת הפרמטרים הפנימיים ומקדמי העיוות משפיעים על תוצאות המיקוד, שדה הראייה וכו'.
- צפה בסרטון הזה:
2023.5.1 & 2023.5.2 (22/3/23)
-
תוקנה רגרסיה שהוצגה ב-2023.5.0 - בעוד ש-2023.5 תיקן את megatag עבור כל הפריסות הלא-מישוריות, הוא הפחית את הביצועים של אומדני תנוחה מתג בודד. זה תוקן. אומדני תנוחה מתג בודד משתמשים באותו פותר בדיוק שהיה בשימוש ב-2023.4.
-
ממשק צילום מהיר יותר. רשת הצילומים כעת טוענת תמונות ממוזערות ברזולוציה נמוכה של 128 פיקסלים.
-
סיבוב Limelight מוצג כעת כראוי בויזואליזציות התלת-ממדיות. הוא חיובי בכיוון נגד כיוון השעון בויזואליזציה ובאופן פנימי.
-
מציין אילו מטרות נמצאות במעקב כרגע בויזואליזציית המרחב השדה.
2023.5.0 (21/3/23)
שינויי ם משמעותיים
- תוקנה רגרסיה - "סיבוב" Limelight במרחב הרובוט היה הפוך בגרסאות קודמות. סיבוב Limelight בממשק המשתמש הוא כעת חיובי נגד כיוון השעון באופן פנימי.
עדכון בחירת אזור
- בחירת אזור עובדת כעת כמצופה בצינורות גלאי נוירונים.
- הוספת 5 אפשרויות אזור חדשות לבחירת המרכז, העליון, השמאלי, הימני, העליון או התחתון של מלבן המטרה הלא מסובב.
ממשק REST API "hwreport"
- :5807/hwreport יחזיר תגובת JSON המפרטת את הפרמטרים הפנימיים של המצלמה ומידע על עיוות.
תיקון MegaTag
- פריסות apriltag מסוימות שאינן במישור אחד היו שבורות ב-MegaTag. זה תוקן, ואמידת התנוחה היא כעת יציבה עם כל תגי השדה. זה מאפשר אמידת תנוחה יציבה אפילו במרחקים גדולים יותר מבעבר.
דיוק גבוה יותר ב-tx ו-ty
- TX ו-TY מדויקים יותר מאי פעם. המטרות מתוקנות לחלוטין מעיוות, ושדה הראייה נקבע לחלוטין על ידי הפרמטרים הפנימיים של המצלמה.
2023.4.0 (18/2/23)
מסנן מחלקות לגלאי נוירונים
ציין את המחלקות שברצונך לעקוב אחריהן לסינון קל של זיהויים לא רצויים.
תמיכה מורחבת בגלאי נוירונים
תמיכה בכל רזולוציית קלט, תמיכה בצורות פלט נוספות לתמיכה בארכיטקטורות זיהוי אובייקטים אחרות. מודלים מבוססי EfficientDet0 נתמכים כעת.
2023.3.1 (14/2/23)
שיפורי דיוק AprilTag
שיפור מטריצת הפרמטרים הפנימיים ו, החשוב ביותר, שיפור מקדמי העיוות לכל הדגמים. שיפורים ניכרים באיתור AprilTag בודד.
העלאת גלאי
תוקנה העלאת גלאי.
2023.3 (13/2/23)
השהיית לכידה (מפתח NT: "cl", תוצאות JSON: "cl")
הערך החדש של השהיית לכידה מייצג את הזמן בין סוף החשיפה של השורה האמצעית של חיישן התמונה של Limelight לבין תחילת צינור העיבוד.
סף איכות חדש ל-AprilTags
AprilTags מזויפים כעת מסוננים בקלות רבה יותר עם מחוון סף האיכות החדש. ערך ברירת המחדל שנקבע ב-2023.3 אמור להסיר את רוב הזיהויים המזויפים.
עקיפת תנוחת מצלמה במרחב הרובוט (מפתחות NT: "camerapose_robotspace_set", "camerapose_robotspace")
ניתן כעת לכוונן את מיקום ה-Limelight שלך במרחב הרובוט תוך כדי פעולה. אם המפתח מוגדר למערך של אפסים, התנוחה שהוגדרה בממשק האינטרנט משמשת.
הנה דוגמה של Limelight על מעלית:
הגדלת זמן חשיפה מקסימלי
זמן החשיפה המקסימלי הוא כעת 33 מילישניות (במקום 12.5 מילישניות). מצבי לכידה בקצב פריימים גבוה עדיין מוגבלים ל-(1/fps) שניות. צינורות של 90 הרץ, לדוגמה, לא יהיו בעלי תמונות בהירות יותר מעבר לזמן חשיפה של 11 מילישניות.
עדכוני Botpose
לכל שלושת מערכי ה-botpose ב-networktables יש ערך שביעי המייצג את ההשהיה הכוללת (השהיית לכידה + השהיית מיקוד).
תיקוני באגים
- תיקון זרמי MJPEG של LL3 ב-shuffleboard
- תיקון camMode - מצב נהג כעת מייצר תמונות בהירות ושמישות.
- תווית החשיפה תוקנה - כל "תקתוק" מייצג 0.01 מילישניות ולא 0.1 מילישניות
- תיקון העלאת גלאי רשת נוירונית
2023.2 (28/1/23)
הופכים את התלת-ממד לקל מאי פעם.
Botposes תואמי WPILib
Botpose הוא כעת קל יותר לשימוש מיידי.
אלה תואמים את מערכות הקואורדינטות של WPILib.
כל ה-botposes מודפסים ישירות בויזואליזציית מרחב השדה בממשק האינטרנט, מה שמקל לאשר במבט חטוף שהכל עובד כראוי.
גישה קלה יותר לנתונים תלת-ממדיים (שינויים משמעותיים)
תנוחת הרובוט במרחב המטרה היא אולי הנתון השימושי ביותר שמגיע מ-Limelight בהקשר ל-AprilTags. באמצעות זה בלבד, אתה יכול ליישר בצורה מושלמת מערכת הנעה עם AprilTag בשדה.
- מפתח NetworkTables "campose" הו א כעת "camerapose_targetspace"
- מפתח NetworkTables "targetpose" הוא כעת "targetpose_cameraspace"
- מפתח NetworkTables חדש - "targetpose_robotspace"
- מפתח NetworkTables חדש - "botpose_targetspace"
העלאת רשת נוירונית
העלה מודלים של teachable machine לצינור המסווג של Limelight. ודא שהם מודלים תואמי Tensorflow Lite EdgeTPU. העלה קבצי .tflite ו-.txt של תוויות בנפרד.
2023.1 (1/19/23)
MegaTag ושיפורי ביצועים
תיקון טעות
פרמטר גודל הסמן המוגדר כברירת מחדל בממשק המשתמש תוקן ל-152.4 מ"מ (ירידה מ-203.2 מ"מ). זה היה שורש רוב בעיות הדיוק.
יציבות מעקב משופרת
ישנן מספר דרכים לכוונן את זיהוי ופענוח AprilTag. שיפרנו את היציבות באופן כללי, במיוחד בסביבות תאורה נמוכה / חשיפה נמוכה.
המרה לגווני אפור במהירות גבוהה
המרה לגווני אפור מהירה פי 3-6 מבעבר. הקבוצות תמיד יראו זרם וידאו אפור בזמן מעקב אחר AprilTags.
חיתוך לשיפור ביצועים
צינורות AprilTag כוללים כעת מחוונים לחיתוך. חיתוך התמונה יביא לשיפור קצב הפריימים בכל רזולוציה.
סינון קל יותר
כעת יש שדה "מסנן מזהה" יחיד בצינורות AprilTag אשר מסנן פלט JSON, תגים עם botpose מופעל, ותגים עם tx/ty מופעלים. הגדרת הסינון הכפולה הייתה בעיי תית ומבלבלת.
שינוי משמעותי
מפתח NT "camtran" הוא כעת "campose"
עדכון JSON
"botpose" הוא כעת חלק מפלט ה-JSON
עדכון מציג מרחב השדה
מציג מרחב השדה מראה כעת את שדה ה-FRC של 2023. כעת צריך להיות קל יותר לשפוט את דיוק ה-botpose במבט חטוף.
Limelight MegaTag (botpose חדש)
העדיפות מספר 1 שלי הייתה לכתוב מחדש את botpose לדיוק גדול יותר, רעש מופחת, ועמידות לדו-משמעות. היישום החדש של botpose של Limelight נקרא MegaTag. במקום לחשב botpose עם ממוצע פשוט של מספר פוזות מרחב-שדה בודדות, MegaTag למעשה משלב את כל התגים לתג ענק אחד תלת-ממדי עם מספר נקודות מפתח. לכך יש יתרונות עצומים.
ה-GIF הבא מציג מצב שתוכנן לגרום להיפוך תג: גליל ירוק: פוזת רובוט לפי תג בודד גליל כחול: BotPose של 2023.0.1 גליל לבן: Botpose החדש של MegaTag
שימו לב כיצד ה-botpose החדש (גליל לבן) יציב מאוד בהשוואה ל-botpose הישן (גליל כחול). אתם יכולים לצפות גם בערכי tx ו-ty.
הנה המסך המלא, המציג את הדו-משמעות של התג:
הנה היתרונות:
Botpose כעת עמיד לדו-משמעויות (היפוך תג) אם יותר מתג אחד נראה (אלא אם הם קרובים ומישוריים. באופן אידיאלי נקודות המפתח אינן מישוריות). Botpose כעת עמיד יותר לרעש בפינות התג אם יותר מתג אחד נראה. ככל שהתגים רחוקים יותר זה מזה, כך טוב יותר. זה לא מוגבל לתגים מישוריים. זה מתאים לכל מספר של תגים בתלת-ממד מלא ובכל כיוון. תגים על הרצפה ותגים על התקרה יעבדו באופן מושלם.
הנה תרשים המדגים היבט אחד של איך זה עובד במקרה מישורי פשוט. התוצאות למעשה טובות יותר ממה שמתואר, כיוון שה-MegaTag המוצג כולל שגיאה משמעותית המוחלת על שלוש נקודות במקום נקודה אחת. ככל שה-MegaTag התלת-ממדי המשולב גדל בגו דל ובמספר נקודות המפתח, היציבות שלו עולה.
העלאת רשת עצבית נדחית ל-2023.2!
2023.0.0 ו-2023.0.1 (1/11/23)
מציג AprilTags, מיקום רובוט, רשתות עצביות עמוקות, ממשק צילום מסך משוכתב, ועוד.
תכונות, שינויים ותיקוני באגים
- צינור לכידת חיישן חדש ובקרת Gain
- צינור הלכידה החדש שלנו מאפשר זמני חשיפה קצרים פי 100 ממה שהיו ב-2022. הצינור החדש מאפשר גם בקרת Gain. זה חשוב במיוחד למעקב AprilTags, וישמש להפוך את המעקב אחר מטרות רטרו-רפלקטיביות לאמין יותר מאי פעם. לפני Limelight OS 2023, ה-Gain של חיישן Limelight היה לא דטרמיניסטי (יישמנו כמה טריקים כדי לגרום לזה לעבוד בכל זאת).
- עם מחוון "Sensor Gain" החדש, קבוצות יכולות להפוך תמונות לכהות או בהירות יותר מאי פעם מבלי לגעת במחוון החשיפה. הגדלת ה-Gain תגדיל את הרעש בתמונה.
- בשילוב Gain נמוך יותר עם זמני חשיפה נמוכים חדשים, כעת ניתן לייצר תמונות כמעט שחורות לחלוטין עם נורות LED בבהירות מלאה ומטרות רטרו-רפלקטיביות. זה יעזור להפחית החזרי אור של LED ושמש בעת מעקב אחר מטרות רטרו-רפלקטיביות.
- על ידי הגדלת Sensor Gain והפחתת החשיפה, קבוצות יוכלו למזער את ההשפעות של טשטוש תנועה בגלל זמני חשיפה גבוהים בעת מעקב אחר AprilTags.
- הצלחנו לפתח את הצינור החדש הזה תוך שמירה על כל התכונות - 90fps, זום חומרה, וכו'.
- אפשרויות רזולוציה נוספות
- יש שתי רזולוציות לכידה חדשות עבור LL1, LL2, ו-LL2+: 640x480x90fps, ו-1280x960x22fps
- ממשק אינטרנט מותאם
- ממשק הגרפי של האתר יטען ויאותחל עד פי 3 מהר יותר ברשתות רובוט.
- ממשק צילומי מסך משוכתב
- תכונת צילומי המסך נכתבה מחדש לחלוטין כדי לאפשר העלאת תמונות, הורדת תמונות, ומחיקת תמונות. ישנם גם API חדשים ללכידת צילומי מסך המפורטים בתיעוד.
- שיפורי SolvePnP
- תכונת מיקום המצלמה המבוססת על solvePnP שלנו סבלה מבאג מכוער שהגביל משמעותית את הדיוק שלה בכל ארבע פריימים. זה טופל, וקנבס תלת-ממדי חדש לגמרי נבנה עבור ויזואליזציות SolvePNP רטרו-רפלקטיביות/צבעוניות.
- תיקון באג בממשק האינטרנט
- היתה בעיה נדירה ביותר ב-2022 שגרמה לממשק האינטרנט להיפגע לצמיתות במהלך האתחול הראשון לאחר צריבה, מה שאילץ את המשתמש לצרוב מחדש. הסיבה העיקרית נמצאה ותוקנה לטובה.
- API חדשים
- Limelight כולל כעת REST ו-Websocket API. ממשקי REST, Websocket, ו-NetworkTables תומכים כולם בתכונת ה-JSON dump החדשה, המציגה את כל הנתונים עבור כל המטרות בפורמט קריא לאדם, קל לניתוח עבור FRC וכל היישומים האחרים.
ראייה מבוססת למידה ללא קוד ותמיכה ב-Google Coral
- Google Coral נתמך כעת על ידי כל דגמי Limelight. Google Coral הוא מאיץ חומרה USB של 4TOPs (טריליוני פעולות לשנייה) שנבנה במיוחד להסקה על רשתות עצביות 8-ביט.
- בדיוק כמו מעקב רטרו-רפלקטיבי לפני כמה שנים, חסם הכניסה לראייה מבוססת למידה על רובוטים של FRC היה גבוה מדי עבור הקבוצה הממוצעת אפילו לנסות. פיתחנו את כל התשתית הנדרשת כדי להפוך ראייה מבוססת למידה לקלה כמו מטרות רטרו-רפלקטיביות עם Limelight.
- יש לנו אשכול GPU בענן, סקריפטים לאימון, כלי לאיסוף מאגרי נתונים, וצוות תיוג אנושי מוכן לפעולה. אנו נרגשים להביא רשתות עצביות עמוקות לקהילת ה-FRC בפעם הראשונה.
- אנו תומכים כרגע בשני סוגי מודלים: מודלים לזיהוי אובייקטים ומודלים לסיווג תמונות.
- מודלים לזיהוי אובייקטים יספקו "מזהי מחלקות" ותיבות תיחום (בדיוק כמו המטרות הרטרו-רפלקטיביות שלנו) עבור כל האובייקטים שזוהו. זה מושלם למעקב אחר חלקי משחק בזמן אמת.
- אנא תרמו למודל זיהוי האובייקטים הראשון אי פעם של FRC על ידי שליחת תמונות כאן: https://datasets.limelightvision.io/frc2023
- השתמשו במפתחות networktables של tx, ty, ta, ו-tclass או ב-JSON dump כדי להשתמש ברשתות זיהוי
- מודלים לסיווג תמונות יקלטו תמונה וייצרו תווית מחלקה יחידה.
- כדי ללמוד עוד ולהתחיל לאמן מודלים משלכם עבור Limelight, בדקו את Teachable Machine של גוגל.
- https://www.youtube.com/watch?v=T2qQGqZxkD0
- מודלים של Teachable machine תואמים ישירות ל-Limelight.
- מסווגי תמונות יכולים לשמש לסיווג מצב פנימי של הרובוט, מצב של תכונות השדה, ועוד הרבה יותר.
- השתמשו במפתח networktables של tclass כדי להשתמש במודלים אלה.
- מודלים לזיהוי אובייקטים יספקו "מזהי מחלקות" ותיבות תיחום (בדיוק כמו המטרות הרטרו-רפלקטיביות שלנו) עבור כל האובייקטים שזוהו. זה מושלם למעקב אחר חלקי משחק בזמן אמת.
- Limelight OS 2023.0 אינו מספק את היכולת להעלות מודלים מותאמים אישית. זה יופעל בקרוב ב-2023.1