פיתוח מערכת בינה מלאכותית לחיזוי תאונות דרכים ומצבי חירום

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

תחומי פיתוח AI

שאלות נפוצות

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

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

חיזוי תאונות דרכים באמצעות ML: היכן המודלים נשברים

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

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

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

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

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

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

מה משתנה אחרי הטמעת תחזית תאונות

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

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

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

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

דרכי בניית מודל התחזית: אצווה, זרימה, היברידי

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

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

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

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

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

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

שלבי פיתוח מערכת תחזית תאונות

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

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

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

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

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

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

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

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

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

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

אחרי הבנייה מחדש התחזית מחושבת מדי יום, ולא פעם ברבעון. שיעור המוקדים המאושרים בעשרים המקטעים הראשונים עלה מ-31% ל-69%, השלמות בגילוי מוקדים — מ-62% ל-88%, והתראות השווא ירדו מאחת משלוש לאחת משמונה. פענוח של היכן בדיוק המודל טעה אורך שעות, ולא שבועות.

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

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

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

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

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

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

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

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

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

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

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

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

מה עושים אם התגיות חלקיות?

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

איך המודל עובד בהתנעה קרה, כשעדיין אין היסטוריה משלו?

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

איך מצמצמים את מספר התראות השווא?

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

איך אתם שולטים באימון יתר של המודל?

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

מה עם נתונים אישיים?

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

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

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

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

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

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