פיתוח מערכת ראייה ממוחשבת מבוססת בינה מלאכותית לרובוטים תעשייתיים

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

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

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

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

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

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

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

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

אפקט מדיד: דיוק, קצב הקו, שיעור הפגמים

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

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

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

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

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

השוואת גישות: קו מקומי, ענן, היברידי

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

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

כיצד לבחור

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

שלבי יישום: מביקורת הקו ועד מסירת המשמרת

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

  1. ביקורת הקו. קצב, אזורי הזנה, תאורה, יציבות מיקום החלק; מתעדים מה המפעיל תופס ומה ממשיך הלאה בזרימה.
  2. תרשים קו הבקרה. נקודות התקנה של מצלמות, תאורה, מרחק צילום, סנכרון עם בקר הרובוט — לפי איזה אות מצלמים פריים וכיצד מוסרים החלטת «תקין/פגום».
  3. סימון המדגם. פריימים מכל העמדות והמצבים; מחלקות נדירות נאספות בנפרד ולא נותנות להן לטבוע. מסגרות שנויות במחלוקת נבדקות על ידי שניים, ופערים מבוררים לפני האימון.
  4. אימון וכיול ספים. את הסף בוחרים לפי העקומה על החלק המוחזק של המדגם, בעדיפות להחמצות שווא: פגם שהוחמץ יקר יותר מעצירה מיותרת.
  5. בדיקה על הקו. הרצה בקצב אמיתי, משמרת ייחוס, מדידה לפי עמדות: פגמים שנתפסו, התראות שווא למשמרת, היכן המפעיל מתערב.
  6. קבלה על הקו ומסירת נהלים. מתעדים מדדים, מוסרים קונפיגורציות, נוהל תחזוקה והליך אימון מחדש לפגמים חדשים עם נסיגה לגרסה קודמת.

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

ערכת אספקה: קונפיגורציות, מודלים, נהלים

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

מה נשאר אצל המזמין לאחר המסירה:

  • קבצי קונפיגורציה: חשיפה והגברה של המצלמות, גאומטריית אזור הצילום, ספי ביטחון לכל מחלקת פגם — בטקסט, עם הערות מה ולמה שונה בכיול.
  • מודל מאומן: גרסת משקלות קבועה, הרכב וסימון מדגם האימון, דוח מדדים — כיסוי ודיוק לפי מחלקות, מטריצת שגיאות, שיעור החמצות בפריימים המוחזקים.
  • תרשים אינטגרציה: נקודות חיבור לבקר הרובוט ולקו, פורמטים להחלפת אותות «תקין/פגום» וקואורדינטות אחיזה, השהיות זמן, לוגיקת נעילות בעת אובדן פריים.
  • מדיניות גישה: תפקידי מפעיל, מכוון ומנהל; מי רשאי לשנות ספים, מי — להעלות גרסת מודל חדשה; יומן שינויים ושמירת צילומים של חלקים שנויים במחלוקת.
  • נוהל אימון מחדש: על איזה נתונים ובאיזו תדירות לאמן מחדש, כיצד לבדוק גרסה חדשה על מדגם מוחזק, לפי איזה קריטריונים לסגת לקודמת.
  • הוראות למשמרת ולמכוון: כיול, כיוון תאורה ופוקוס, תקלות אופייניות וסדר פעולות.
  • פרוטוקול קבלה: תרחישי בדיקה, סטי פריימים ותוצאות מתועדות, שלפיהם משווים איכות במצבים שנויים במחלוקת.

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

מקרה בוחן: שיעור הפגמים שהוחמצו ירד פי ארבעה

לפני ומה שינו

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

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

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

מה השתנה

מדידות לפני ואחרי: שיעור הפגמים שהוחמצו — 0.2% לעומת 0.8%, פי ארבעה פחות. בדיקות חוזרות ידניות הצטמצמו מכל חלק ל-10-15% במחלקות שנויות במחלוקת, והחזרתיות בין משמרות עלתה — פער ההחלטות ירד לטווח של 0.5%, כי הספים וגרסת המודל כעת אחידים לכל האתר, ולא שונים אצל כל מפעיל. למצב עבודה הגיעו בתוך שלושה שבועות: שבוע לסימון ולכיול, שניים — לאימון ולניתוח יומי של התראות שווא.

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

מה לעשות אם הרובוט כבר מצויד במצלמות?

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

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

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

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

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

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

ספקות טכניים: תאורה, השתקפויות, החלפת פריטים

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

מה יקרה בשינוי תאורה ובהשתקפויות?

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

מה תציג המערכת בפריט חדש?

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

האם יהיה צורך לעצור את הקו?

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

מי אחראי לאיכות הסימון?

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

מה כוללת מסירת הפתרון?

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

בואו נדון במשימה: מה להכין להערכה

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

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

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