עיבוד אותות בינה מלאכותית של מכשירים לבישים: PPG, HRV, שינה

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

תחומי פיתוח AI

שאלות נפוצות

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

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

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

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

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

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

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

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

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

מה נותן צינור עיבוד אותות בנוי היטב

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

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

ערוץ תנועה עוגן מפריד בין ארטיפקטים לפיזיולוגיה, ולכן פסגות שגויות שהופיעו בהליכה ובמדרגות נחתכות לפני החישוב. בתרחישים פעילים חלק ההקלטות הכשירות עלה מ-60–70% ל-90%+, ופיזור הווריאביליות באותה עומס הצטמצם פי שניים.

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

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

שחזוריות התוצאה מאצווה לאצווה

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

היכן לחשב: במכשיר, בשרת או היברידי

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

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

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

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

מתי ניקוי בשרת משתלם יותר

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

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

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

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

ביקורת הקלטות גולמיות וסימון

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

בדיקה על מדגם מושהה

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

מודלים, סכימות צינור ותקנוני סימון

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

סכימות צינור ופורמטי נתונים

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

תקנוני סימון ובקרת איכות

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

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

מקרה בוחן: וריאביליות ושלבי שינה לפי הקלטות גולמיות

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

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

מדדים לפני ואחרי

  • הקלטות שנפסלו: 34% מהלילות נפסלו בגלל ארטיפקטים של תנועה — כעת 6%, והפסילה חלה רק על קטעים בלתי קריאים.
  • מרווחים חסרים: שיעור המרווחים שנפלו מסדרת הווריאביליות ירד מ-12% ל-1.5% הודות לשחזור חסרים קצרים.
  • פער מול ייחוס: ההסכמה על שלבי שינה עלתה מ-0.61 ל-0.84, הסטת גבולות השלבים הצטמצמה פי שניים.
  • זמן הכנת המערך: מכמה שבועות ליומיים, כולל קריאה ידנית של תקופות שנויות במחלוקת.

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

במה שונה סינון בזרימה מניקוי אצווה?

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

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

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

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

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

ספקות טכניים: רעש, חסרים, פרטיות

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

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

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

התוצאה תלויה בדגם הצמיד?

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

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

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

איזו שגיאה נחשבת מותרת?

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

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

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

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

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