תוכן עניינים:

HackerBox 0024: Vision Quest: 11 שלבים
HackerBox 0024: Vision Quest: 11 שלבים

וִידֵאוֹ: HackerBox 0024: Vision Quest: 11 שלבים

וִידֵאוֹ: HackerBox 0024: Vision Quest: 11 שלבים
וִידֵאוֹ: Vlogmas 10: Hackerbox time 2024, יולי
Anonim
HackerBox 0024: Vision Quest
HackerBox 0024: Vision Quest

Vision Quest - החודש, האקרים של HackerBox מתנסים במעקב אחר ראייה ממוחשבת ומעקב אחר תנועות סרוו. מדריך זה מכיל מידע לעבודה עם HackerBox #0024, אותו תוכל לאסוף כאן עד גמר המלאי. כמו כן, אם תרצה לקבל HackerBox כזה ישירות בתיבת הדואר שלך בכל חודש, אנא הירשם ב- HackerBoxes.com והצטרף למהפכה!

נושאים ויעדי למידה עבור HackerBox 0024:

  • התנסות בחזון מחשבים
  • הגדרת OpenCV (Computer Vision)
  • תכנות ה- Arduino Nano מה- Arduino IDE
  • שליטה על מנועי סרוו עם הארדואינו ננו
  • הרכבת מכל מחבת והטייה מכנית
  • שליטת תנועת פאן והטיה באמצעות מיקרו -בקר
  • ביצוע מעקב פנים באמצעות OpenCV

HackerBoxes הוא שירות תיבות המנויים החודשי לאלקטרוניקה DIY וטכנולוגיית מחשבים. אנחנו חובבים, יוצרים ונסיינים. אנחנו חולמי החלומות. פריץ לכוכב הלכת!

שלב 1: האקרבוקס 0024: תכולת הקופסה

האקרבוקס 0024: תכולת האריזה
האקרבוקס 0024: תכולת האריזה
  • כרטיס הפניה לאספנות HackerBoxes #0024
  • מחבת שלוש סוגרים והרכבת הטייה
  • שני סרוו MG996R עם אביזרים
  • שני מחברי סרוו עגולים מאלומיניום
  • Arduino Nano V3 - 5V, 16MHz, MicroUSB
  • מכלול מצלמה דיגיטלית עם כבל USB
  • שלוש עדשות בעלות קליפ אוניברסלי
  • אור עט לביקורת רפואית
  • מגשרים זכר/נקבה של דופונט
  • כבל MicroUSB
  • מדבקת OpenCV בלעדית
  • מדבקה בלעדית Dia de Muertos

עוד כמה דברים שיהיו מועילים:

  • גרוטאות לוח עץ קטנות לבסיס מצלמה
  • מלחם, הלחמה וכלי הלחמה בסיסיים
  • מחשב להפעלת כלי תוכנה

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

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

שלב 2: ראיית מחשב

ראייה ממוחשבת
ראייה ממוחשבת

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

מעניין לציין כי ראיית מחשב עשויה להיחשב הפוכה של גרפיקה ממוחשבת.

שלב 3: עיבוד ו- OpenCV

עיבוד ו- OpenCV
עיבוד ו- OpenCV

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

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

התקן את OpenCV בתוך עיבוד מהתפריט קובץ> דוגמאות על ידי בחירה באפשרות "הוסף דוגמאות" ולאחר מכן בכרטיסייה ספריות והתקנת הן את ספריות הווידאו והן את ספריות ה- OpenCV. פתח את דוגמת LiveCamTest למעקב פנים בסיסי. עיין בכמה דוגמאות אחרות של OpenCV לעיבוד כאן.

משאבים נוספים:

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

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

לימוד OpenCV

ראיית מחשב: אלגוריתמים ויישומים

שליטה ב- OpenCV

סטנפורד קורס CS231n רשתות עצביות מתפתחות לזיהוי חזותי (16 סרטונים)

כריס אורמסון TED Talk כיצד מכונית ללא נהג רואה את הכביש

שלב 4: פלטפורמת מיקרו -בקר Arduino Nano

פלטפורמת מיקרו -בקר Arduino Nano
פלטפורמת מיקרו -בקר Arduino Nano

אנו יכולים להשתמש בכל פלטפורמת מיקרו -בקר נפוצה לשליטה בסרווואים במחבת המצלמה שלנו ולהטות אותה. ה- Arduino Nano הוא לוח ארדואינו ממוזער ידידותי ללוח על משטח עם USB משולב. הוא בעל תכונות מלאות להפליא וקל לפריצה.

מאפיינים:

  • מיקרו -בקר: Atmel ATmega328P
  • מתח: 5V
  • סיכות קלט/פלט דיגיטליות: 14 (6 PWM)
  • סיכות קלט אנלוגיות: 8
  • זרם DC לפין I/O: 40 mA
  • זיכרון פלאש: 32 KB (2KB למטען אתחול)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • מהירות שעון: 16 מגה -הרץ
  • מידות: 17 מ"מ על 43 מ"מ

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

Arduino Nanos כולל שבב USB/סידורי גשר מובנה. על גרסה מסוימת זו, שבב הגשר הוא CH340G. שים לב שישנם סוגים אחרים של שבבי גשר USB/סידורי המשמשים על סוגי הלוחות של Arduino. שבבים אלה מאפשרים ליציאת ה- USB של המחשב לתקשר עם הממשק הטורי שבב המעבד של הארדואינו.

מערכת ההפעלה של מחשב דורשת מנהלי התקנים לתקשר עם השבב USB/סידורי. הנהג מאפשר ל- IDE לתקשר עם לוח Arduino. מנהל ההתקן הספציפי הדרוש תלוי גם בגרסת מערכת ההפעלה וגם בסוג שבב USB/סידורי. עבור שבבי USB/סידורי CH340, ישנם מנהלי התקנים זמינים עבור מערכות הפעלה רבות (UNIX, Mac OS X או Windows). יצרנית CH340 מספקת את הנהגים האלה כאן.

כאשר אתה מחבר את ה- Arduino Nano לראשונה ליציאת USB של המחשב שלך, נורית ההפעלה הירוקה צריכה להידלק וזמן קצר לאחר הנורית הכחולה תתחיל להבהב לאט. זה קורה מכיוון שהנאנו נטען מראש בתוכנית BLINK, שפועלת במותג החדש Arduino Nano.

שלב 5: סביבת פיתוח משולבת של Arduino (IDE)

סביבת פיתוח משולבת של Arduino (IDE)
סביבת פיתוח משולבת של Arduino (IDE)

אם עדיין אין לך את Arduino IDE מותקן, תוכל להוריד אותו מ- Arduino.cc

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

חבר את ה- Nano לכבל MicroUSB ואת הקצה השני של הכבל ליציאת USB במחשב, הפעל את תוכנת ה- Arduino IDE, בחר את יציאת ה- USB המתאימה ב- IDE תחת כלים> יציאה (סביר להניח כי שם הוא "wchusb" בתוכו)). בחר גם "Arduino Nano" ב- IDE תחת כלים> לוח.

לבסוף, טען פיסת קוד לדוגמה:

קובץ-> דוגמאות-> יסודות-> מהבהב

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

במבט מקרוב אתה יכול לראות שהתוכנית מדליקה את הנורית, ממתינה 1000 אלפיות השנייה (שנייה אחת), מכבה את הנורית, ממתינה עוד שנייה ואז עושה הכל שוב - לנצח.

שנה את הקוד על ידי שינוי שני הצהרות "העיכוב (1000)" ל"השהיה (100) ". שינוי זה יגרום לנורית להבהב עשר פעמים מהר יותר, נכון?

בואו נטען את הקוד שהשתנה ל- Nano על ידי לחיצה על כפתור ה- UPLOAD (סמל החץ) ממש מעל הקוד שהשתנה. צפה מתחת לקוד למידע על הסטטוס: "קומפילציה" ולאחר מכן "העלאה". בסופו של דבר, ה- IDE אמור לציין "ההעלאה הושלמה" והנורית שלך אמורה להבהב מהר יותר.

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

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

שלב 6: מנועי סרוו

סרוו מוטורס
סרוו מוטורס

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

סרוואות תחביב קטנות, כגון MG996R, מחוברות באמצעות חיבור תלת-חוטי סטנדרטי: שני חוטים לאספקת חשמל DC וחוט אחד לנשיאת פולסי הבקרה. ל servo MG996R יש זעם מתח הפעלה של 4.8-7.2 VDC.

שלב 7: הרכבת מנגנון המחבת והטיה

הרכבת מנגנון המחבת והטיה
הרכבת מנגנון המחבת והטיה
  1. משוך את שני סרוו MG996R מהתיקים והניח בצד את האביזרים הכלולים לעת עתה.
  2. חבר כל סרוו מצמד סרוו עגול מאלומיניום. שימו לב שהמחברים מגיעים בשקיות נפרדות מהשרווסים. המצמד מתאים מאוד. התחל בלחיצת המצמד לקצה פלט הסרוו ולאחר מכן הברג בורג לתוך החור המרכזי. הדק את החוט כדי למשוך את המצמד אל פלט הסרוו.
  3. שים לב שיש שלושה סוגריים למכלול הטיית הפאן-שני סוגרי קופסא ותושבת U אחת.
  4. הרכיבו את אחד ממחסני הקופסה על עיגול האלומיניום לאחד הסרווואים. אנו נקרא לסרוו זה פאן סרוו. כוון את סוגר התיבה עם הקיר המרכזי שלו כנגד עיגול האלומיניום כך ששני הקירות האחרים של סוגר התיבה פונים הרחק מסרו הפאן. השתמש בחורים המרכזיים בקיר האמצעי של סוגר התיבה. סידור זה אמור לאפשר לסרו הפאן לסובב את סוגר התיבה המצורף ברגע שהוא מופעל.
  5. מקם את הסרוו השני (סרוו הטיה) לתוך סוגר התיבה המחובר למעגל האלומיניום של סרוו המחבת. השתמש בשני אגוזים וברגים כדי להצמיד את סרוו ההטיה - אחד בכל צד.
  6. אוחזים את סוגר ה- U, הכנס את "מיסב" הפליז מבפנים ה- U דרך אחד מחורי ההרכבה הגדולים של הציר.
  7. הנח את סוגר ה- U עם המסב על סרוו ההטיה שנמצא בתוך סוגר התיבה כך שחור ההרכבה הגדול השני של הציר (זה ללא המסב) יישר קו עם עיגול האלומיניום בסרוו הטיה.
  8. השתמש בברגים כדי להצמיד את סוגר ה- U על עיגול האלומיניום בצד אחד של סוגר ה- U.
  9. בצד השני של סוגר ה- U, הדק בורג יחיד דרך המסב ואל תוך החור הקטן בתושבת התיבה שבתוכו. זה אמור לאפשר לסוגר ה- U להסתובב סביב סוגר התיבה מאוחר יותר כאשר סרוו ההטיה מופעל.

שלב 8: הרכבת מכלול המחבת והטיה

הרכבת מכלול המחבת והטיה
הרכבת מכלול המחבת והטיה
הרכבת מכלול המחבת והטיה
הרכבת מכלול המחבת והטיה

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

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

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

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

ל- Nano אין מספיק זרם על אספקת 5V כדי להפעיל את הסרווואים מ- USB, לכן מומלץ לספק אספקה נוספת. זה יכול להיות כל דבר בטווח 4.8-7.2 וולט. לדוגמה, ארבע סוללות AA (בסדרות) יעבדו יפה. גם ספסל או יבלת קיר היא בחירה טובה.

ניתן להשתמש בדוגמה הפשוטה של Arduino המצורפת כאן ל- PanTiltTest.ino לבדיקת השליטה בשני הסרווואים מהצג הטורי ב- Arduino IDE. הגדר את קצב השידור של הצג כך שיתאים ל 9600bps שהוגדר בקוד הדוגמה. הזנת ערכי זווית בין 0 ל -180 מעלות תמקם את השרווסים בהתאם.

לבסוף, ניתן להתקין את מודול מצלמת ה- USB (או חיישן אחר) אל סוגר ה- U של מכלול הפאן-הטיה לשימוש ביישומי מעקב.

שלב 10: מעקב פנים באמצעות OpenCV

Image
Image
לפרוץ לפלנטה
לפרוץ לפלנטה

ניתן ליישם מערכת מעקב פנים לראיית מכונה על ידי שילוב מערכות משנה כפי שמוצג בתרשים הבלוקים. את הסקיצה SerialServoControl עבור Arduino ניתן למצוא במדריך Sparkfun הבא יחד עם הדגמה קשורה באמצעות OpenCV, עיבוד, Arduino, מצלמת USB והרכבת פאן/הטיה למעקב אחר פנים אנושיות. ההדגמה משתמשת בשני סרוויים כדי למקם את המצלמה מחדש על מנת לשמור על הפנים ממוקדות במסגרת הווידיאו אפילו כשהמשתמש נע בחדר. לדוגמה קוד ב- C#, עיין במאגר GitHub עבור סרטון CamBot.

שלב 11: לפרוץ את הפלנטה

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

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

מוּמלָץ: