ما هو الاستشعار الانضغاطي (Compressed Sensing)؟
في علوم البيانات الحديثة ومعالجة الإشارات، يعد “الاستشعار الانضغاطي (Compressed Sensing / Compressive Sensing)” أحد أكثر التحولات النموذجية ثورية. تقليدياً، عند إدخال الإشارات التناظرية مثل الصوت، والصور، والموجات الكهرومغناطيسية إلى الكمبيوتر كبيانات رقمية، كنا نتبع قاعدة مطلقة وهي “نظرية نيكويست-شانون لأخذ العينات”. ومع ذلك، يقلب الاستشعار الانضغاطي هذه القاعدة، ويقدم ضماناً رياضياً مذهلاً بأنه “إذا استوفت الإشارة شرطاً معيناً (التناثر - Sparsity)، يمكن استعادة الإشارة الأصلية تماماً من بيانات رصد أقل بكثير مما تتطلبه نظرية أخذ العينات”.
في هذه المقالة، سنشرح بعمق الأسس بدءاً من نظرية أخذ العينات، والتعريف الرياضي للتناثر، والاسترخاء إلى مشكلة تحسين $L_1$، وجوهر الاختراقات النظرية من قبل إيمانويل كانديس (Emmanuel Candès) وتيرينس تاو (Terence Tao) وغيرهما مع تضمين المعادلات الرياضية. علاوة على ذلك، سنغطي تطبيقات عملية مثل تسريع التصوير بالرنين المغناطيسي (MRI) وبناء صور الثقوب السوداء، بالإضافة إلى كود تنفيذ عملي باستخدام بايثون (Python)، لنكشف الصورة الكاملة للاستشعار الانضغاطي.
1. نظرية أخذ العينات لنيكويست-شانون وحدودها
أساسيات نظرية أخذ العينات
في منتصف القرن العشرين، تم تأسيس “نظرية أخذ العينات” كأساس لنظرية المعلومات بواسطة كلود شانون (Claude Shannon) وهاري نيكويست (Harry Nyquist). تحدد هذه النظرية شروط تحويل إشارة تناظرية مستمرة إلى إشارة رقمية منفصلة على النحو التالي:
نظرية أخذ العينات لنيكويست-شانون لإعادة بناء إشارة ذات عرض نطاق ترددي محدد بـ $f_{\max}$ بالكامل، يجب أخذ عينات من الإشارة بتردد أخذ عينات (معدل نيكويست) يبلغ على الأقل $2f_{\max}$.
على سبيل المثال، الحد الأقصى للنطاق المسموع للأذن البشرية هو حوالي 20 كيلوهرتز. لذلك، في الأقراص المدمجة الصوتية (CD)، يتم أخذ العينات بأكثر من ضعف هذا التردد، أي 44.1 كيلوهرتز. رياضياً، إذا كان للإشارة المستمرة $x(t)$ تحويل فورييه $X(f)$ وكان $X(f) = 0$ عند $|f| > f_{\max}$، فإنه يمكن استعادة $x(t)$ تماماً بواسطة صيغة الاستيفاء التالية باستخدام دالة sinc:
$$ x(t) = \sum_{n=-\infty}^{\infty} x\left(\frac{n}{2f_{\max}}\right) \operatorname{sinc}\left(2f_{\max}t - n\right) $$انفجار البيانات وحدود النظرية
تعتبر نظرية أخذ العينات قوية جداً وهي حجر الزاوية في الاتصالات الرقمية الحديثة. ومع ذلك، مع التقدم التكنولوجي، زادت كمية المعلومات التي تلتقطها المستشعرات بشكل انفجاري. في الصور الطبية عالية الدقة (مثل MRI و CT)، ومصفوفات التلسكوبات الراديوية في علم الفلك، وأنظمة الرادار ذات النطاق العريض للغاية، إذا تم أخذ العينات وفقاً لمعدل نيكويست، فإن كمية البيانات التي يجب ملاحظتها تصبح هائلة للغاية.
ونتيجة لذلك، تنشأ المشاكل التالية:
- زيادة وقت المسح: على سبيل المثال في التصوير بالرنين المغناطيسي، يستغرق جمع البيانات وقتاً طويلاً، مما يشكل عبئاً جسدياً على المريض.
- حدود الأجهزة: يصبح تصنيع محولات A/D لأخذ عينات من الإشارات ذات التردد العالي جداً صعباً من الناحية الفنية، أو مكلفاً للغاية.
- الضغط على تخزين البيانات والاتصالات: تتضخم تكلفة تخزين وإرسال كميات هائلة من بيانات أخذ العينات.
كان النموذج التقليدي هو “أخذ العينات بكميات كبيرة، ثم استخدام برامج للضغط (مثل JPEG أو MP3) للتخلص من البيانات غير الضرورية”. ومع ذلك، يطرح السؤال التالي: “إذا كنا سنتخلص منها في النهاية، ألا يمكننا استشعار (الحصول على) المعلومات الضرورية فقط بشكل مباشر من البداية؟”. ما جعل هذا ممكناً هو الاستشعار الانضغاطي.
2. التعريف الرياضي للتناثر (Sparsity)
الشرط الأساسي المطلق لنجاح الاستشعار الانضغاطي هو التناثر (Sparsity). يشير التناثر إلى خاصية أنه “عندما يتم تحويل إشارة باستخدام قاعدة مناسبة (طريقة تمثيل)، فإن معظم مكوناتها تصبح صفراً (أو قيماً قريبة جداً من الصفر)”.
صياغة المتجه المتناثر
لنفترض إشارة منفصلة (متجه) $\mathbf{x} \in \mathbb{R}^N$ بطول $N$. نفترض أنه يمكن التعبير عن هذه الإشارة باستخدام مصفوفة قاعدة متعامدة $\mathbf{\Psi} \in \mathbb{R}^{N \times N}$ (على سبيل المثال، مصفوفة تحويل فورييه أو مصفوفة تحويل المويجات - Wavelet)، على النحو التالي:
$$ \mathbf{x} = \mathbf{\Psi} \mathbf{s} $$هنا، $\mathbf{s} \in \mathbb{R}^N$ هو متجه المعاملات على القاعدة $\mathbf{\Psi}$. عندما يكون عدد العناصر غير الصفرية في هذا المتجه $\mathbf{s}$ هو $K$ (حيث $K \ll N$)، يقال إن $\mathbf{x}$ هو متناثر بمقدار $K$ ($K$-sparse). رياضياً، يتم تعريفه باستخدام معيار $L_0$ (دالة تحسب عدد العناصر غير الصفرية) على النحو التالي:
$$ \|\mathbf{s}\|_0 = K $$التناثر في العالم الحقيقي
بشكل مثير للدهشة، فإن العديد من الإشارات الموجودة في الطبيعة تصبح متناثرة عند اختيار قاعدة مناسبة.
- الصور: الصور الطبيعية ليست متناثرة في مساحة البكسل، ولكن عند تطبيق تحويل المويجات أو تحويل جيب التمام المنفصل (DCT)، تقترب معظم المكونات عالية التردد من الصفر، وتصبح متناثرة (وهذا هو مبدأ ضغط JPEG).
- الصوت: الإشارات الصوتية مستمرة في المجال الزمني، ولكن في مجال التردد (بعد تحويل فورييه)، فقط عدد قليل من مكونات التردد الرئيسية (التردد الأساسي والتوافقيات) تمتلك قيماً كبيرة.
الاستشعار الانضغاطي هي تقنية تستغل هذا “التكرار الكامن في الإشارة” لإجراء ضغط البيانات في نفس الوقت في مرحلة أخذ العينات.
3. صياغة الاستشعار الانضغاطي ومصفوفة الرصد
بافتراض أن الإشارة متناثرة، كيف يمكننا استعادة الإشارة من بيانات قليلة؟ لنفترض أننا نقوم بـ $M$ ملاحظات خطية لإشارة غير معروفة $\mathbf{x} \in \mathbb{R}^N$ (حيث $M < N$). يتم التعبير عن عملية الرصد باستخدام مصفوفة الرصد $\mathbf{\Phi} \in \mathbb{R}^{M \times N}$ على النحو التالي:
$$ \mathbf{y} = \mathbf{\Phi} \mathbf{x} = \mathbf{\Phi} \mathbf{\Psi} \mathbf{s} = \mathbf{A} \mathbf{s} $$هنا،
- $\mathbf{y} \in \mathbb{R}^M$: متجه بيانات الرصد
- $\mathbf{A} = \mathbf{\Phi} \mathbf{\Psi} \in \mathbb{R}^{M \times N}$: مصفوفة الاستشعار
هدفنا هو استعادة متجه المعاملات غير المعروف $\mathbf{s}$ (وفي النهاية $\mathbf{x}$) من بيانات الرصد المعطاة $\mathbf{y}$ والمصفوفة $\mathbf{A}$.
مشكلة النظام ناقص التحديد
ومع ذلك، نواجه هنا عقبة رياضية. بما أن $M < N$ (عدد المجاهيل أكبر من عدد المعادلات)، فإن نظام المعادلات $\mathbf{y} = \mathbf{A} \mathbf{s}$ يصبح نظاماً ناقص التحديد (underdetermined system)، وستكون هناك حلول لا حصر لها. من المستحيل إيجاد حل فريد باستخدام الجبر الخطي العادي.
هنا، نستفيد من المعرفة المسبقة بأن “$\mathbf{s}$ متناثر (مكوناته غير الصفرية قليلة جداً)”. من بين العدد اللانهائي من المرشحين للحل، إذا بحثنا عن الحل الأكثر تناثراً (الذي يحتوي على أقل عدد من المكونات غير الصفرية)، فمن المحتمل جداً أن يكون هو الإشارة الحقيقية. عند صياغة ذلك كمشكلة تحسين، تصبح على النحو التالي:
$$ (P_0) \quad \min_{\mathbf{s} \in \mathbb{R}^N} \|\mathbf{s}\|_0 \quad \text{subject to} \quad \mathbf{y} = \mathbf{A} \mathbf{s} $$صعوبة تحسين $L_0$
نظرياً، كل ما علينا فعله هو حل المشكلة $(P_0)$ المذكورة أعلاه، لكن رياضياً من المعروف أن مشكلة تقليل $\|\mathbf{s}\|_0$ هي NP-hard. من الضروري التحقق من جميع تركيبات المكونات غير الصفرية، وعندما يصبح البعد $N$ كبيراً، حتى مع أقوى الحواسيب العملاقة الحديثة، سيستغرق الأمر وقتاً يتجاوز عمر الكون.
4. الاسترخاء إلى مشكلة تحسين $L_1$: اختراق كانديس وتاو
السبب الذي جعل الاستشعار الانضغاطي ينتشر بشكل انفجاري كتقنية عملية هو أنه تم تقديم دليل رياضي مذهل بأنه حتى إذا تم استبدال مشكلة تحسين $L_0$ غير القابلة للحل بـ مشكلة تحسين $L_1$ القابلة للحساب، فإنه في ظل ظروف معينة يمكننا الوصول إلى نفس الإجابة الصحيحة تماماً.
بين عامي 2004 و 2006، أرسى إيمانويل كانديس، تيرينس تاو، وديفيد دونوخو (David Donoho) الأساس القوي لهذه النظرية.
تقليل معيار $L_1$
بدلاً من معيار $L_0$، نستخدم معيار $L_1$، وهو مجموع القيم المطلقة لكل عنصر من عناصر المتجه.
$$ \|\mathbf{s}\|_1 = \sum_{i=1}^N |s_i| $$وبهذا، يتم الاسترخاء (relaxation) في المشكلة على النحو التالي:
$$ (P_1) \quad \min_{\mathbf{s} \in \mathbb{R}^N} \|\mathbf{s}\|_1 \quad \text{subject to} \quad \mathbf{y} = \mathbf{A} \mathbf{s} $$مشكلة تقليل $L_1$ هي نوع من مشاكل التحسين المحدب (Convex Optimization)، ويمكن حساب الحل الدقيق في وقت متعدد الحدود (polynomial time) باستخدام خوارزميات فعالة موجودة مثل البرمجة الخطية (Linear Programming).
لماذا $L_1$؟ (الحدس الهندسي)
لماذا نستخدم معيار $L_1$ بدلاً من معيار $L_2$ (طريقة المربعات الصغرى)؟ يمكن فهم ذلك هندسياً. القيد $\mathbf{y} = \mathbf{A}\mathbf{s}$ يشكل مستوى فائق (hyperplane) في فضاء عالي الأبعاد. تقليل المعيار يعادل توسيع مستوى محيط (كرة - ball) متمركز حول نقطة الأصل حتى نجد النقطة التي تلامس هذا المستوى الفائق لأول مرة.
- كرة $L_2$ ($\|\mathbf{s}\|_2 \le R$): شكلها كروي أملس. النقطة التي تلامس المستوى الفائق ستكون في الغالب بعيدة عن جميع محاور الإحداثيات، والحل الناتج سيكون متجهاً “كثيفاً (dense)” حيث جميع العناصر غير صفرية.
- كرة $L_1$ ($\|\mathbf{s}\|_1 \le R$): شكلها متعدد السطوح (معين، ثماني الأوجه، وما إلى ذلك) ولها العديد من “الزوايا (الرؤوس)”. تقع هذه الزوايا على محاور الإحداثيات. عندما يتم دفع المستوى الفائق ضدها، فمن المحتمل جداً أن تلامس في هذه “الزاوية”. الملامسة عند الزاوية تعني أن قيم المحاور الإحداثية الأخرى تصبح صفراً، ونتيجة لذلك يتم الحصول على حل متناثر.
خاصية التساوي القياسي المقيد (RIP: Restricted Isometry Property)
قدم كانديس وتاو مفهوم RIP (خاصية التساوي القياسي المقيد) كشرط كافٍ لتوافق تقليل $L_1$ مع تقليل $L_0$. يُقال إن مصفوفة الاستشعار $\mathbf{A}$ تحقق RIP من الدرجة $K$ إذا كان هناك ثابت صغير $\delta_K \in (0,1)$ يحقق المتباينة التالية لأي متجه متناثر بمقدار $K$ وهو $\mathbf{s}$.
$$ (1 - \delta_K) \|\mathbf{s}\|_2^2 \le \|\mathbf{A}\mathbf{s}\|_2^2 \le (1 + \delta_K) \|\mathbf{s}\|_2^2 $$بشكل حدسي، هذه الخاصية تعني أن “المصفوفة $\mathbf{A}$ تحافظ (تقريباً) على طول أي متجه متناثر دون تغييره”. أثبت كانديس وتاو ببراعة أنه إذا استوفت $\mathbf{A}$ شرطاً محدداً لـ RIP، فإن حل $(P_1)$ سيتطابق تماماً مع حل $(P_0)$ في غياب الضوضاء.
علاوة على ذلك، ومن الناحية العملية، تبيّن أنه عند استخدام مصفوفة عشوائية (مصفوفة أرقام عشوائية تتبع التوزيع الغاوسي أو توزيع برنولي) كمصفوفة الرصد $\mathbf{\Phi}$، فإنها تحقق RIP باحتمالية عالية. بمعنى آخر، “الرصد العشوائي” هو استراتيجية أخذ العينات الأكثر كفاءة وعالمية في الاستشعار الانضغاطي.
وقد ثبت أن عدد الملاحظات المطلوبة $M$ يتناسب مع طول الإشارة $N$ ودرجة التناثر $K$ بالترتيب التالي:
$$ M \ge C \cdot K \log\left(\frac{N}{K}\right) $$($C$ هو ثابت)
هذا يعني أنه يتطلب عدداً أقل بكثير من الملاحظات (تعتمد على $K$) مقارنة بـ $N$ ملاحظة تتطلبها نظرية أخذ العينات.
5. أمثلة تطبيقية للاستشعار الانضغاطي
أحدثت نظرية الاستشعار الانضغاطي ثورة في جميع مجالات هندسة المعلومات والفيزياء.
1. تسريع التصوير بالرنين المغناطيسي (MRI)
يعد التصوير بالرنين المغناطيسي (MRI) من أنجح التطبيقات التجارية. يستخدم الرنين المغناطيسي مجالات مغناطيسية قوية للحصول على صور مقطعية لجسم الإنسان، ولكن هناك حدود فيزيائية لجمع البيانات (بيانات مجال التردد تسمى الفضاء k - k-space)، مما يستغرق وقتاً. من الصعب على المرضى الأطفال أو الأعضاء المتحركة مثل القلب البقاء ثابتين لفترات طويلة. من خلال تطبيق الاستشعار الانضغاطي على الرنين المغناطيسي، أصبح من الممكن تقليل بيانات الفضاء k التي يتم أخذ عينات منها بشكل عشوائي، مما أدى إلى تقصير وقت المسح إلى جزء بسيط مما كان عليه. حالياً، تقوم شركات الأجهزة الطبية الكبرى مثل Siemens و GE ببيع أجهزة MRI مزودة بتقنية الاستشعار الانضغاطي كميزة قياسية.
2. تصوير الثقوب السوداء (تلسكوب أفق الحدث - Event Horizon Telescope)
في عام 2019، نجح فريق البحث الدولي “تلسكوب أفق الحدث (EHT)” في التقاط أول صورة في تاريخ البشرية لظل ثقب أسود. لبناء تلسكوب افتراضي عملاق بحجم الأرض، قاموا بدمج بيانات من تلسكوبات راديوية متناثرة حول العالم (قياس التداخل الراديوي ذو الأساس الطويل جداً: VLBI)، ولكن كانت هناك حدود في ترتيب التلسكوبات على الأرض، مما أدى إلى “فجوات (بيانات مفقودة)” هائلة في بيانات الرصد. لاستعادة صورة الثقب الأسود من هذه البيانات المتفرقة، تم تطوير خوارزمية تسمى CHIRP (Continuous High-resolution Image Reconstruction using Patch priors). يمكن اعتبار هذا أيضاً تطبيقاً للاستشعار الانضغاطي الذي يستفيد من التناثر والمعرفة الهيكلية المسبقة التي تمتلكها الصور الكونية.
3. كاميرا البكسل الواحد (Single-Pixel Camera)
قام فريق بحثي في جامعة رايس (Rice University) بتطوير كاميرا تحتوي على مستشعر ضوئي واحد فقط (بكسل واحد). باستخدام جهاز المرايا الدقيقة الرقمية (DMD)، يتم عكس الضوء من الجسم بنمط عشوائي، ويقاس المجموع الكلي باستخدام مستشعر واحد. من خلال تكرار ذلك آلاف المرات، تتم إعادة بناء صورة تتكون من ملايين البكسلات. هذه التقنية مفيدة للغاية لتكوين الصور في نطاقات الطول الموجي، مثل الأشعة تحت الحمراء أو موجات التيراهيرتز، حيث يكون تصنيع مستشعرات متعددة البكسلات مكلفاً للغاية.
6. مثال تنفيذي للاستشعار الانضغاطي باستخدام بايثون (Python)
نظراً لأن النظرية وحدها قد لا تكون كافية لفهم الفكرة بالكامل، دعونا نقوم بمحاكاة الاستشعار الانضغاطي باستخدام بايثون.
هنا، سنقوم بإنشاء إشارة متناثرة أحادية البعد واستعادة الإشارة الأصلية من عدد قليل من الملاحظات العشوائية باستخدام تحسين $L_1$. سنستخدم مكتبة cvxpy للتحسين.
تثبيت المكتبات المطلوبة
| |
كود التنفيذ
| |
شرح الكود
- إنشاء الإشارة: من بُعد قدره $N=1000$، يتم إنشاء متجه متناثر
x_trueحيث تمتلك $K=50$ موقعاً فقط قيمة (والباقي أصفار). - الرصد: وفقاً لنظرية أخذ العينات يجب إجراء 1000 قياس، ولكننا هنا نستخدم مصفوفة رصد عشوائية
Aبعدد $M=250$ مرة (25%) للحصول على البياناتy. - الاستعادة: باستخدام بيانات الرصد
yوالمصفوفةAفقط كمدخلات، نستخدمcvxpyللبحث عن “الـ $\mathbf{x}$ الذي يحقق $\mathbf{y} = \mathbf{A}\mathbf{x}$ ولديه أصغر معيار $L_1$”. - النتائج: عند اكتمال الحسابات، يصبح خطأ الاستعادة صغيراً جداً، أقل من
1e-9، مما يؤكد أنه من بيانات رصد بنسبة 25% فقط تم استعادة الإشارة الحقيقية تماماً (Exact).
flowchart LR
X["إشارة متناثرة مجهولة\nx (بأبعاد N)"] -->|"مصفوفة رصد\nعشوائية A"| Y["بيانات الرصد\ny (بأبعاد M, M < N)"]
Y -->|"تحسين L1\n(خوارزمية التحسين المحدب)"| X_hat["الإشارة المستعادة\nx^"]
X -. "ضمان التطابق التام" .-> X_hat
7. الخلاصة والآفاق المستقبلية
غيّر الاستشعار الانضغاطي النماذج من جذورها في تاريخ معالجة الإشارات. يعتمد نهج “القياس الذكي للكمية الضرورية فقط من البداية” بدلاً من “قياس كميات هائلة ثم التخلص منها” على نظريات رياضية عميقة (التحسين المحدب، نظرية المصفوفة العشوائية، والهندسة عالية الأبعاد).
في الوقت الحاضر، يتم إجراء أبحاث نشطة تجمع بين التعلم العميق (Deep Learning) والاستشعار الانضغاطي. بدلاً من خوارزمية تحسين $L_1$ التقليدية، أصبح استخدام الشبكات العصبية لحل المشاكل العكسية بشكل أسرع وأكثر دقة (Deep Unfolding / Algorithm Unrolling) هو الاتجاه السائد. أتاح هذا إمكانية تعلم تصميم مصفوفة الرصد نفسها بالاعتماد على البيانات، مما دفع التطبيقات نحو تسريع الرنين المغناطيسي بشكل أكبر، وإعادة بناء الصور المقاومة للضوضاء.
إن السحر الرياضي للاستشعار الانضغاطي الذي يتيح رؤية دقيقة للكل من خلال معلومات قليلة، سيستمر في تزويدنا بـ “عيون” جديدة في جميع المجالات التي تمثل فيها الانفجارات البيانية تحدياً، مثل القيادة الذاتية، وشبكات مستشعرات إنترنت الأشياء (IoT)، واستكشاف الفضاء.
