נזקי CSI ומילה על נייקוויסט

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

אלא שאליה וקוץ בה.

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

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

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

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

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

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

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

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

הדרכים האחרות הן פחות החלטיות.

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

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

שחר

מאת

שחר שמש

מייסד–שותף וחבר ועד בתנועה לזכויות דיגיטליות מייסד שותף בעמותת „המקור”. פעיל קוד פתוח. מפתח שפת התכנות Practical

14 תגובות בנושא “נזקי CSI ומילה על נייקוויסט”

  1. מוזר, מייקל קרייטון טען כבר לפני כמה שנים טובות שלאשפי מחשבים יש דרכים “לנקות” תמונה.
    בעצם, היה ספר אחד (אני חושבת שזה היה “שמש עולה”) בו כל הפיתרון התבסס על שיחזור השתקפות של פני הרוצח במשטח קמור… או משהו דומה.
    🙂

    מאידך, מייקל קרייטון היה זה שכתב את “האדם האלקטרוני”, אי שם בשלהי שנות ה-60… וזה עדיין בלתי אפשרי לביצוע.
    🙂
    ואילו קונן דויל טען שהתמונה האחרונה אותה רואה הנרצח נותרת חרוטה על אישון עינו וכל מה שצריך לעשות זה להגדיל אותה… ולזה אני האמנתי, באמת.
    אני חושבת משך כמה ימים אפילו, עד שאמרו לי שזה לא נכון.
    🙁

  2. אני חושש שאני לא מאוד קונה את האמינות של קרייטון.

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

    ומאיפה, בדיוק, השגנו את ה-DNA של הצמחים?

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

    שחר

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

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

    עומר

  4. בתור קורא קבוע של הבלוג שלך, אני גאה בך שאת קוראת בלוג של לינוקס.

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

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

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

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

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

  7. אם תסתכל, אני מציין את זה במפורש בפוסט עצמו.

    אבל

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

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

    אבל, אם כבר הנושא עלה, האם אתה יכול לציין שם של תוכנה שעושה את העיבוד הזה?

    שחר

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

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

    שחר

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

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

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

    אתרים לדוגמא:
    http://www.psi.toronto.edu/~vincent/videoepitome.html
    http://www.cse.ucsc.edu/%7Emilanfar/SR-Software.htm

    מאמרים (בדר”כ גם מכילים תמונות יפות למי שאין את הידע/כח לקרוא את המאמר 🙂
    http://people.csail.mit.edu/billf/papers/cgasres.pdf (מדבר על סופר רזולוציה מתמונה בודדת)
    והמאמר Learning Low Level Vision (גם של Freeman מהמאמר הקודם)
    http://www.cse.ucsc.edu/~milanfar/SR-challengesIJIST.pdf
    http://www.cs.huji.ac.il/~peleg/papers/supres-book.pdf
    מחקרים של שמואל פלג מהאוניברסיטה העברית וכן מאמרים של מיכל אירני ממכון וייצמן ומיכאל אלעד מהטכניון.

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

    אם זה לא היה אפשרי, הייתי מובטל היום 😉

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

סגור לתגובות.