$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
מחקר זה השתמש אך ורק במערכי הדמיית CT ו-MRI זמינים לציבור וללא זיהוי. לא היו מעורבים נבדקים חיים של בני אדם או בעלי חיים. לכן, לא נדרש אישור של ועדת ביקורת מוסדית (IRB) או ועדת אתיקה.
סקירת שיטה
פרוטוקול זה מציג צינור הניתן לשחזור עבור דה-נוז של תמונות רפואיות חסכוניות באנרגיה. הוא משלב טכניקות עיבוד מקדים, כולל חידוד מסננים ואשכולות K-means, עם מקודד אוטומטי מבוסס רשת עצבית קונבולוציונית (CNN) להסרת רעש תמונות. שיטה משולבת זו משפרת את איכות התמונה תוך הפחתת זמן האימון וצריכת האנרגיה של החומרה, ותומכת באבחון רפואי בר קיימא 19,20,21,22,23. איור 5 מסכם את המסגרת מקצה לקצה.

איור 5: ארכיטקטורת מסגרת הפחתת רעשים מוצעת. איור זה מתאר את הצינור המלא: רכישת נתונים, עיבוד מקדים (חידוד + פילוח K-means), ואחריו דה-נוז של מקודד אוטומטי מבוסס CNN. הוא מדגיש את הגישה ההיברידית שמטרתה להפחית את השימוש באנרגיה תוך שמירה על נאמנות מבנית. אנא לחץ כאן לצפייה בגרסה גדולה יותר של איור זה.
זרימת העבודה המלאה מסוכמת באיור 5, המציג את הרצף מהגדרת מערך הנתונים לעיבוד מקדים (חידוד ו-K-means) ועד הפחתת רעשים של מקודד CNN לבדיקה.
הגדרת תוכנה וסביבה
אפשרות א' - Google Colab (מומלץ לשחזור): עבור אל colab.research.google.com, לחץ על מחברת חדשה. בחר זמן ריצה > שנה את סוג זמן הריצה > מאיץ חומרה: GPU > Save. לחץ על קובץ > העלה כדי להעלות את המחברת שסופקה ואת .zip ערכת הנתונים (או חבר את Google Drive על ידי לחיצה על קבצים > טען כונן). בתא הקוד הראשון, התקן תלות (כבר במחברת): pip התקן opencv-python scikit-image scikit-learn tensorflow matplotlib numpy pandas. לחץ על זמן ריצה > הפעל הכל. ודא שאתה רואה: (i) סיכום סביבה עם גרסאות חבילה, (ii) שם GPU (בפלט תא), ו-(iii) יצירת תיקיית ניסוי פועלת/YYYY-MM-DD/.
אפשרות ב' - מקומי (conda): פתח את Anaconda Prompt/Terminal והפעל:

מקם את מערך הנתונים שלך תחת data/raw/ ואת הסקריפטים תחת code/. הפעל: קוד פייתון/train_autoencoder.py --data_root נתונים --img_size 256 --k_values 3 5 ---תקופות 100 --אצווה 32 --LR 0.001. אשר כדי לראות: תדפיס סביבה, GPU שזוהה וספריית יומן פועלת/YYYY-MM-DD/.
הכנת סל נתונים
מערכי נתונים זמינים לציבור של סריקות CT ו-MRI מקורם במאגרי הדמיה רפואית. מערכי נתונים אלה הכילו רעש האופייני לסריקות קליניות בעולם האמיתי וזוהו על פי סטנדרטים מוסדיים ואתיים 8,9. גודל כל תמונה שונה ל-256 x 256 פיקסלים ואוחסנה בפורמט PNG או DICOM לצורך תאימות. מערכי הנתונים חולקו באופן אקראי כדלקמן: 70% לאימון, 15% לאימות ו-15% לבדיקה, מה שמבטיח התפלגות מרובדת של שיטות הדמיה ורמות רעש⁶. סטטיסטיקת הרעש נמדדה באמצעות שונות פיקסלים ממוצעת לפני הדנויזציה.
ארגון תיקיות: צור תיקיה כמתואר להלן:

כדי להוסיף תמונות, העתק תמונות CT/MRI לא מזוהות ל-data/raw/CT ו-data/raw/MRI (PNG, JPG או DICOM). תקן את גודל התמונה באמצעות Python (מומלץ): הפעל את תא המחברת שנה גודל והמר. הוא טוען כל תמונה, ממיר גווני אפור במידת הצורך ומשנה את גודלו ל -256 x 256 .

חלופה היא להשתמש בממשק משתמש גרפי (חלופת ImageJ/Fiji) כמתואר. לחץ על קובץ > ייבא > רצף תמונות (או תמונות בודדות), ולאחר מכן סוג > תמונה > 8 סיביות, תמונה > התאם > גודל... > 256 x 256 ולאחר מכן File > Save As >-PNG ל-data /preproc/.
יצירת פיצולים: הפעל את פיצול תא המחשב הנייד Train/Val/Test (15/70/15); הוא מערבב שמות קבצים ומעתיק אותם לנתונים/פיצולים/רכבת|val|test/. הקונסולה מדפיסה את הספירות (לדוגמה, רכבת: 700, Val: 150, בדיקה: 150). מחסום (צפייה): פתח נתונים/פיצולים/רכבת/ וודא שהתמונות הן 256 x 256 וגווני אפור (ערוץ אחד). שמור מניפסט CSV קטן (splits.csv) המפרט את נתיב הקובץ, אופן הפעולה והתווית המפוצלת.
עיבוד מקדים של תמונה
השתמש בגרעין ההשחזה 3X3. בצע שיפור תמונה באמצעות גרעין חידוד. גרעין קונבולוציה מחדד שימש לשיפור הגבולות האנטומיים לפני הסגמנטציה:

מסנן זה מדגיש מבנים חשובים על ידי הגברת רכיבים בתדר גבוה 4,5. כל תמונה פותלה באמצעות ספריית OpenCV של Python (cv2.filter2D()) כדי ליצור את התמונה המשופרת. איור 6 ממחיש השוואות לפני ואחרי.

איור 6: תרשים דיוק אימות עבור ערכים שונים של k. תרשים עמודות הממחיש את דיוק האימות שהושג עבור ערכים שונים של K המשמשים בשלב האשכולות K-means (K=2, 3, 4, 5). הדיוק מגיע לשיא ב-K=3, מה שמצביע על הפרדה אופטימלית בין מבנים אנטומיים לאזורי רעש. קנה מידה: ערכי דיוק מנורמלים (0-1). אנא לחץ כאן לצפייה בגרסה גדולה יותר של איור זה.
החל (Python/OpenCV) באמצעות הקוד למטה.

או השתמש בחלופה של ממשק משתמש גרפי (ImageJ/Fiji) על ידי לחיצה על Process > Filters > Convolve. הדבק את המטריצה 3 x 3 למעלה ולחץ על אישור קובץ > > שמור בשם > PNG לתוך data/preproc/enhanced/. התבוננו במחסום כשהקצוות וגבולות העוגב נראים חדים יותר; אם נראות הילות מושחזות יתר על המידה, הפחיתו את המשקל המרכזי של הגרעין מ-5 ל-4.5 והפעל מחדש. איור 7 מציג תוצאות הפחתת רעשים לפני ואחרי. התמונות הקודמות מציגות בבירור רעש וטשטוש, בעוד שהתמונות שלאחר מציגות בהירות משופרת, גבולות אנטומיים חדים יותר וניגודיות משופרת, מה שמדגים את היעילות של צינור הפחתת הרעשים המוצע.

איור 7: ארכיטקטורת רשת Convolution NAutoencoder. ממחיש את ארכיטקטורת המקודד האוטומטי: שכבת קלט, מקודד (שכבות המרה + בריכה), צוואר בקבוק, מפענח (דגימה + שכבות המרה מועברות). כל שכבה מסומנת בגודל ובתפקוד. אנא לחץ כאן לצפייה בגרסה גדולה יותר של איור זה.
אשכולות K-Means לפילוח
תמונות משופרות עוצבו מחדש באמצעות NumPy (image.reshape(-1, 1)) וקובצו באמצעות sklearn.cluster.KMeans(n_clusters=3 או 5). הפלט המפולח עוצב מחדש לדו-ממד (np.reshape(clustered_array, image.shape)) כדי לדמיין אזורים אנטומיים לעומת אזורי רעש14. טבלה 1 מפרטת הגדרות פילוח.
| האב לא | ערך k | דיוק |
| 1 | 3 | 0.761 |
| 2 | 5 | 0.869 |
| 3 | 7 | 0.75 |
טבלה 1: ערכים של k עם דיוק אימות בהתאמה. טבלה זו מציגה את דיוק האימות שהתקבל עבור ערכים שונים של פרמטר האשכולות k המשמש בשלב הפילוח K-means של צינור הפחתת הרעשים. התוצאות מדגימות כי k = 5 מניב את הדיוק הגבוה ביותר, ומנחה את בחירת פרמטר האשכולות האופטימלית.
פילוח K-Means: עיצוב מחדש ואשכולות (Python/scikit-learn) באמצעות הקוד למטה.

בצע תצוגה מקדימה של צבע (אופציונלי) ומפה תוויות לצבעים עבור QC חזותי וקצוות שכבת-על מהתמונה המחודדת. בחר K על ידי ריצה עם K=3 ו-K=5; חישוב דיוק אימות במורד הזרם (טבלה 1 מפרטת הגדרות; איור 6 מראה דיוק לעומת K). זה מחסום; שימו לב לפיקסלים דומיננטיים ברעש היוצרים אשכולות נפרדים; אזורים אנטומיים צריכים להישאר רציפים. אם מופיעים כתמים קטנים, החל גבולות אנטומיים.
הפחתת רעשים מבוססת רשת עצבית
תיאור ארכיטקטורה: ראה איור 8 עבור סכימת מקודד-צוואר-בקבוק-מפענח. מקודד אוטומטי מבוסס CNN פותח באמצעות TensorFlow/Keras. הארכיטקטורה כללה: שכבת קלט: תמונה בגווני אפור 256 x 256, מקודד עם שלוש שכבות קונבולוציוניות (ליבה: 3 x 3, צעד: 1, הפעלת ReLU), כל אחת ואחריה איגום מקסימלי; צוואר בקבוק כייצוג סמוי צפוף, מפענח עם שלוש שכבות דגימה עם פיתולים שהוחלפו, פלט כשכבה המופעלת על ידי סיגמואיד המייצרת תמונה נטולת רעש. טבלה 2 מספקת פרמטרים אדריכליים מלאים מבחינת שכבות.

איור 8: תוצאות חזותיות של תהליך הפחתת הרעשים. מציג תמונה רועשת מקורית, תמונה מעובדת מראש ופלט סופי ללא רעש זה לצד זה לצורך הערכה איכותית. מדגים שימור קצוות והפחתת חפצים. אנא לחץ כאן לצפייה בגרסה גדולה יותר של איור זה.
| האב לא | תכונות קומפילציה | ערכים של תכונות הידור |
| 1 | ממטב | אדם |
| 2 | אובדן | אנטרופיה צולבת קטגורית |
| 3 | מדדי | דיוק |
טבלה 2: תכונות קומפילציה של הרשת העצבית. טבלה זו מפרטת את פרמטרי ההידור העיקריים המשמשים לאימון מודל המקודד האוטומטי הקונבולוציוני. הגדרות אלו יושמו ב-TensorFlow וכוללות את האופטימיזציה, פונקציית ההפסד, מדד ההערכה, מספר התקופות וגודל האצווה.
תצורת אימון: פרמטרי האימון כללו: פונקציית הפסד כ-Mean Squared Error (MSE), אופטימיזציה כאדם (קצב למידה = 0.001), גודל אצווה של 32 ותקופות כ-100 עם עצירה מוקדמת (סבלנות = 10).
סקירה קצרה של ההכשרה היא כדלקמן. הפעל את ההדרכה על-ידי מעבר אל Colab ולחיצה על זמן ריצה > הפעל הכל; ודא שה-GPU מופיע ברשימה (למשל, Tesla T4). השתמש בקוד פיתון/train_autoencoder.py --data_root נתונים --תקופות 100 --אצווה 32 --lr 0.001 --early_stop 10. נטר באמצעות הדפסות הקונסולה תקופה, train_loss, val_loss וזמן/תקופה. טריגרים לעצירה מוקדמת לאחר סבלנות = 10 תקופות ללא שיפור. הדגם הטוב ביותר נשמר לריצות/.../checkpoints/best.h5. זוהי נקודת ביקורת, שימו לב באמצעות model.summary() המציג את מחסנית השכבות; ספירת הפרמטרים צריכה להתאים לטבלה 2. אם אתה מקבל שגיאות OOM, הקטן את האצווה ל- 16 או הגדר את גודל הקלט ל- 224 x 224.
נקודות ביניים ופתרון בעיות
לאחר חידוד ופילוח, הצג תצוגה מקדימה של שלוש תמונות בכל פיצול ואשר (i) הקצוות משופרים, (ii) מסיכות אשכול מיושרות עם האנטומיה. במהלך האימון, ודא שאובדן האימות פוחת ואינו מתפצל. אם הפלט המנוטרל נראה מוחלק יתר על המידה, הקטן את מרכז הליבה (4.5), או הגדל את תקופות האימון ב-10 עם קצב למידה נמוך יותר (למשל, 5e-4).
הערכת ביצועים: נעשה שימוש במדדים הכמותיים הבאים: יחס שיא אות לרעש (PSNR), מדד מדד דמיון מבני (SSIM) ודיוק אימות של סיווג תמונה ללא רעש.
השיטה המוצעת שיפרה את PSNR מ-21.52 ל-28.14 dB ואת SSIM מ-0.76 ל-0.86 בהשוואה למודלים הבסיסיים שהוצגוב-7,16. יעילות אנרגטית תועדה על ידי ניטור השימוש ב-GPU (יומני NVIDIA-SMI) וזמן האימון. טבלה 3 מסכמת את תוצאות הפחתת הרעשים.
| האב לא | מטרי | מודל בסיסי |
| 1 | זמן תקופה ממוצע (שניות) | 25.8 |
| 2 | סה"כ אנרגיית אימון (קוט"ש) | 0.52 |
| 3 | ניצול GPU (%) | 85% |
| 4 | זמן הסקה לתמונה (אלפיות השנייה) | 18.7 |
| 5 | דיוק אימות (%) | 76.19% |
| 6 | PSNR (dB) | 21.52 |
| 7 | SSIM | 0.7619 |
טבלה 3: מדדי הערכת ביצועים של קו הבסיס לעומת השיטה המוצעת. טבלה זו משווה את צינור הפחתת הרעשים המוצע מול מודל בסיסי על פני מספר מדדי ביצועים, כולל זמן אימון, ניצול GPU ומדדי איכות (PSNR, SSIM ודיוק אימות). התוצאות מצביעות על שיפור היעילות האנרגטית ואיכות התמונה בשיטה המוצעת.
חשב PSNR/SSIM וצריכת אנרגיה. עבור PSNR/SSIM (scikit-image), השתמש בקוד שלהלן.

לצורך שימוש באנרגיה/GPU מחשוב, הפעל את התא שרושם nvidia-smi --query-gpu=power.draw,utilization.gpu --format=csv -l 1 כדי לרוץ/.../gpu_log.csv במהלך האימון (מסופק במחברת). במסוף שני, הפעל את הקוד הבא:

נתח CSV כדי לחשב הספק ממוצע (W) ולשלב לאורך זמן אימון עבור אנרגיה משוערת (Wh = kWh). המחשב הנייד משלב PSNR, SSIM, דיוק אימות, זמן תקופה ואנרגיה ל-results_table3.csv להכללה ישירה.
הערכת קיימות וסימולציה של טלרפואה
כדי להעריך את קיימות החומרה של המכשיר, יישמנו רעש גאוס ורעש פואסון כדי לדמות ירידה בתמונה ממכשירים מזדקנים. המודל החזיר את התשומות הירודות הללו לאיכות כמעט אבחנתית, ואימת את חוסנו 27,28,29. בסימולציות טלרפואה, תמונות נטולות רעש הועברו על ידי רוחב פס מדומה של 256 Kbps באמצעות שקעי Python. בהירות הראייה נשמרה, ותמכה באבחון מרחוק 30,31,32.
לסימולציה של הזדקנות המכשיר, החל רעש גאוס (σ=10-30) ורעש פואסון על תמונות נקיות (סימולציית הזדקנות תאים) ושמור בנתונים/מדומה/מיושן/. הפעל את המודל המאומן על גיל/תשומות; שמור תפוקות בתוצאות/aged_denoised/. שימו לב שאיכות הראייה צריכה להגיע לנאמנות כמעט אבחנתית; השוואה בין PSNR/SSIM לנקודת ההתחלה.
לבדיקת רוחב פס טלרפואה, דחוס תמונות ללא רעש ל-PNG/JPEG ב-85%-95% ושלח קישור מדומה של 256 kbps באמצעות בדיקת שקע Python (telemed_sim.py) המצורפת. למדוד זמן הלוך ושוב וקוד Hash של תקינות הקבצים; ודא שלא הוצגו תוצרי אבחון. שים לב שהבהירות החזותית נשמרת וגדלי הקבצים מתאימים לתהליכי עבודה ברוחב פס נמוך.
נקודת קצה של פרוטוקול
בסיום, אמורים להיות לך: (i) תמונות מחודדות ב-preproc/enhanced/, (ii) תמונות מפולחות ב-preproc/segmented/, (iii) מקודד אוטומטי מיומן עם best.h5 בריצות /.../נקודות ביקורת/, (iv) יציאות ללא רעש עבור תמונות בדיקה ומיושנות בתוצאות/, (v) קובץ מדדים מהודר (results_table3.csv) המסכם PSNR, SSIM, דיוק אימות, זמן תקופה ואנרגיה משוערת.