פיתוח מערכת AI לזיהוי תמרורים וסימוני דרך

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

תחומי פיתוח AI

שאלות נפוצות

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

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

זיהוי תמרורי דרכים: היכן זה נשבר בכבישים אמיתיים

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

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

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

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

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

אפקט מדיד: דיוק, עמידות, זמן תגובה

דיוק הזיהוי והשלמות של הזיהוי אינם נמדדים «בעין», אלא על מדגם פריימים מוחזק (hold-out) עם סימון לפי ГОСТ Р 52290 — בנפרד עבור תמרורים, בנפרד עבור סימון הכביש וקווי עצירה. המדדים מופרדים לפי מחלקות: תמרורי עדיפות נדירים ושלטים זמניים נופלים ראשונים, ולכן הדיווח עליהם נפרד. תוצאת ההטמעה — שיעור הפריימים שבהם המערכת מפיקה אובייקט בביטחון, ולא מספר ממוצע על פני כל המדגם.

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

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

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

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

גישות לזיהוי: השוואת מצבי עבודה

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

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

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

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

כיצד מתבצעת ההטמעה: שלבי העבודה ההנדסית

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

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

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

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

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

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

מקרה בוחן: דיוק בקטע מורכב לפני ואחרי

הפרויקט הושק בקטע עם תנועה צפופה ותחלופה תכופה של כיסוי: אספלט, לוחות בטון, עבודות ממושכות עם סימון שחוק. עבדנו עם Оператором региональной сети дорожного мониторинга — לפני ההטמעה מודל כללי זיהה תמרורים ב-82% מהפריימים ביום, ובגשם ובתאורה נגדית החמיץ עד 14 תמרורים ל-100. התראות שווא לקילומטר דרך היו כ-שש: המערכת הגיבה לשלטי פרסום ולשילוט דומה בצורתו.

מה נתן את העלייה

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

כיצד בדקנו

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

תוצאה: הדיוק ביום עלה מ-82% ל-96%, במזג אוויר קשה ובלילה — מ-61% ל-89%. ההחמצות הצטמצמו מ-14 ל-2 ל-100 תמרורים, והתראות השווא — משש לפחות משתיים לקילומטר. בנפרד צוינה היציבות: בשלג כבד עקיבת האובייקט לא נשברה יותר, והחזרה למודל הקודם ארכה מחזור עדכון אחד.

מה לעשות אם המערכת כבר פרוסה בצי הרכב

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

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

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

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

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

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

ספקות טכניים לפני תחילת הפרויקט

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

כיצד המערכת עובדת בלילה ובמזג אוויר קשה?

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

מה עם סימון שחוק?

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

האם אפשר לאמן מחדש את המודל על הנתונים שלנו?

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

מה קורה בעת אובדן אות או תקלה?

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

כיצד אתם בודקים את האיכות?

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

נדון במשימה ונחזור עם תוכנית עבודה

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

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

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