טיפים וטריקים#

מצב הדגמה#

מצב הדגמה מאפשר לך להדגים את ה-CMUcam4 ללא מעבד ראשי. במצב הדגמה, ה-CMUcam4 מבצעת את הפקודה ”TW“ (Track Window) ולאחר מכן מניעה שני סרוואי תחביב סטנדרטיים לעבר העצם הנעקב ובו-זמנית מציגה את העצם הנעקב בטלוויזיה סטנדרטית. ברגע שה-CMUcam4 נכנסת למצב הדגמה היא לא תצא ממנו עד שתאופס. עקוב אחר השלבים למטה כדי להיכנס למצב הדגמה:

  1. לחצו והחזיקו את כפתור האיפוס שעל ה-CMUcam4

  2. לחצו והחזיקו את כפתור המשתמש שעל ה-CMUcam4

  3. שחררו את כפתור האיפוס (אל תשחררו את כפתור המשתמש)

  4. המתן עד שנורית העזר האדומה תידלק (2 שניות)

  5. המתן עד שנורית העזר האדומה תתחיל להבהב ב-10 Hz ואז שחרר את ה-user button

    • הטלוויזיה אמורה להידלק (אמורים לראות מסך פתיחה מוצג על הטלוויזיה) אם ה-CMUcam4 מחובר לטלוויזיה

  6. ה-CMUcam4 יסתגל כעת לתנאי התאורה למשך 5 השניות הבאות

    • אל תניח את העצם שברצונך לעקוב אחריו מול ה-CMUcam4 במשך 5 השניות הבאות

  7. המתן עד שנורית העזר האדומה תפסיק להבהב ב-10 Hz

    • ה-CMUcam4 סיים כעת להסתגל לתנאי התאורה

    • פיני סרוו ה-pan וה-tilt אמורים להוציא פולסים של 1500 μs ב-50 Hz

  8. הניחו את העצם שברצונכם לעקוב אחריו מול ה-CMUcam4 ולחצו על כפתור המשתמש

    • אם נורית ה-LED העזר האדומה מתחילה להבהב ב-10 Hz בדוק את חיבור מודול המצלמה OV9665

      • מודול המצלמה OV9665 עשוי להיות פגום וסביר להניח שיש להחליפו

  9. כעת אתה אמור לראות את העצם הנעקב (או דומה) מוצג בטלוויזיה אם ה-CMUcam4 מחוברת לטלוויזיה

    • סרוו-מנועי ה-pan וה-tilt, אם מחוברים, ינסו גם להניע את המצלמה לעבר העצם הנעקב

  10. אנא נסו הליך זה עם עצמים שונים בסביבות שונות כדי לראות מה עובד הכי טוב

  11. ה-CMUcam4 פועל כעת במצב הדגמה

לחצו על כפתור האיפוס כדי לצאת ממצב הדגמה.

עבור פעולה לא-הפוכה של סרוו ה-pan, אורכי פולס נמוכים מ-1500 µs חייבים להזיז את מיקום ה-X של מודול המצלמה ימינה (מנקודת מבטו של מודול המצלמה) ואורכי פולס גבוהים מ-1500 µs חייבים להזיז את מיקום ה-X של מודול המצלמה שמאלה (מנקודת מבטו של מודול המצלמה).

עבור פעולה לא-הפוכה של סרוו ה-tilt, אורכי פולס נמוכים מ-1500 µs חייבים להזיז את מיקום ה-Y של מודול המצלמה למטה (מנקודת מבטו של מודול המצלמה) ואורכי פולס גבוהים מ-1500 µs חייבים להזיז את מיקום ה-Y של מודול המצלמה למעלה (מנקודת מבטו של מודול המצלמה).

מצב Halt#

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

  1. לחצו והחזיקו את כפתור האיפוס שעל ה-CMUcam4

  2. לחצו והחזיקו את כפתור המשתמש שעל ה-CMUcam4

  3. שחררו את כפתור האיפוס (אל תשחררו את כפתור המשתמש)

  4. המתן עד שנורית העזר האדומה תידלק (2 שניות)

  5. שחררו את כפתור המשתמש

  6. ה-CMUcam4 עצור כעת לזמן בלתי מוגבל

לחצו על כפתור האיפוס כדי לצאת ממצב עצירה (halt).

הערות על מעקב טוב יותר#

מעקב טוב יותר בעזרת Auto-gain ואיזון לבן#

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

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

בעת מעקב אחר צבעים, כמו במצב הדגמה, ייתכן שתרצה לאפשר ל-auto-gain ולאיזון הלבן לפעול לפרק זמן קצר ואז לכבות אותם. בזמן שהם מופעלים לתקופה של כ-5 שניות, המצלמה יכולה להגדיר את רווח הבהירות שלה ואת רווחי הצבע שלה למה שהיא רואה כמתאים. אז כיבוים יעצור את המצלמה משינוי הגדרותיה שלא לצורך עקב עצם המוחזק קרוב לעדשה, צללים, וכו«. אם auto-gain ואיזון הלבן לא הושבתו והמצלמה שינתה את הגדרותיה עבור ערכי ה-RGB או YCbCr, אזי הערכים החדשים הנמדדים עשויים ליפול מחוץ לספי מעקב הצבע שנבחרו במקור.

מודול המצלמה דורש ש-auto-gain יהיה מופעל כדי לנצל את איזון הלבן.

מרחב צבע YUV (YCbCr)#

YCbCr הוא הגדרת מרחב צבע שונה ממרחב ה-RGB הידוע יותר. ב-YCbCr נתוני התאורה מאוחסנים בערוץ נפרד. עקב תכונה זו, במצב YCbCr המצלמה עשויה להיות עמידה יותר בפני שינויים בתאורה. מכיוון שזה מרחב צבע שונה, תמונות ב-YCbCr אינן נראות כמו תמונות RGB סטנדרטיות כאשר ממופות ישירות על ידי תוכנת פריקת פריים. ערוצי ה-RGB ממופים ל-CrYCb. אז במצב YCbCr, הערך המוחזר כפרמטר האדום הוא למעשה Cr, הפרמטר הירוק הוא Y, והפרמטר הכחול הוא Cb. אז אם ברצונך לעקוב אחר עצם אדום, עליך להסתכל על פריים שנפרק כדי לראות לאילו צבעים ממופים צבעי אותו עצם ב-YCbCr. אז אמור להיות אפשרי למצוא את גבולות ה-Cb וה-Cr תוך מתן גבול Y מאוד רופף המראה שהתאורה אינה חשובה מאוד. בעת השימוש ב-YCbCr, ודא שאתה לוקח בחשבון שמבחינת כל ה-I/O של ה-CMUcam4, Red ממופה ל-Cr, Green ל-Y, ו-Blue ל-Cb.

שים לב שערוצי ה-RGB ממופים כך שתקבל CrYCb, ולא YCbCr.

אודות מודול המצלמה#

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

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