مقدمة
في مجال رؤية الحاسوب، تعتبر المصفوفة الأساسية أداة رياضية قوية تصف العلاقة الهندسية بين صورتين مجسمتين لنفس المشهد. إنها مصفوفة 3×3 تربط النقاط المتناظرة في الصورتين، مما يسمح بتقدير الحركة النسبية للكاميرات وتحديد مواقع النقاط ثلاثية الأبعاد في المشهد.
تلعب المصفوفة الأساسية دورًا حاسمًا في العديد من تطبيقات رؤية الحاسوب، بما في ذلك:
- إعادة بناء المشهد ثلاثي الأبعاد: من خلال تحديد النقاط المتناظرة في صور متعددة، يمكن استخدام المصفوفة الأساسية لتقدير عمق المشهد وإنشاء نموذج ثلاثي الأبعاد له.
- الملاحة الذاتية للروبوتات: يمكن للروبوتات استخدام المصفوفة الأساسية لتحديد حركتها بالنسبة للبيئة المحيطة بها وتخطيط مساراتها.
- تتبع الحركة: يمكن استخدام المصفوفة الأساسية لتتبع حركة الأجسام في الفيديو، حتى في حالة وجود تغييرات كبيرة في زاوية الرؤية.
- تحسين الصور: يمكن استخدام المصفوفة الأساسية لتصحيح التشوهات الهندسية في الصور، مثل تلك الناتجة عن عدسات واسعة الزاوية.
الأسس الرياضية للمصفوفة الأساسية
لنفترض أن لدينا نقطة ثلاثية الأبعاد P يتم تصويرها بواسطة كاميرتين. لنرمز إلى إسقاط هذه النقطة على الصورة الأولى بـ p وعلى الصورة الثانية بـ p’. تهدف المصفوفة الأساسية F إلى وصف العلاقة بين هذين الإسقاطين.
العلاقة الرياضية الأساسية التي تربط p و p’ و F هي:
p’T F p = 0
حيث:
- p و p’ هما متجهان متجانسان يمثلان إحداثيات النقاط في الصور.
- F هي المصفوفة الأساسية 3×3.
- T يشير إلى عملية النقل (transpose).
هذا يعني أن حاصل ضرب متجه النقطة في الصورة الثانية (منقول)، والمصفوفة الأساسية، ومتجه النقطة في الصورة الأولى يساوي صفرًا. تعبر هذه المعادلة عن القيد الهندسي الذي يجب أن تلتزم به أي نقطتين متناظرتين.
الخط القطبي (Epipolar Line)
لكل نقطة p في الصورة الأولى، تحدد المصفوفة الأساسية خطًا في الصورة الثانية يسمى الخط القطبي (epipolar line). يجب أن تقع النقطة المتناظرة p’ على هذا الخط. رياضيًا، يمكن حساب الخط القطبي l’ المقابل للنقطة p كالتالي:
l’ = F p
وبالمثل، لكل نقطة p’ في الصورة الثانية، يوجد خط قطبي l في الصورة الأولى:
l = FT p’
تساعد هذه الخطوط القطبية في تقليل مساحة البحث عن النقاط المتناظرة، حيث أننا نعلم أن النقطة المتناظرة يجب أن تقع على الخط القطبي المقابل.
تقدير المصفوفة الأساسية
يتمثل التحدي الرئيسي في تحديد المصفوفة الأساسية F من مجموعة من النقاط المتناظرة المعروفة. هناك العديد من الخوارزميات لتقدير المصفوفة الأساسية، ولكن إحدى الطرق الشائعة هي خوارزمية النقاط الثماني (Eight-Point Algorithm).
تعتمد هذه الخوارزمية على حقيقة أن المصفوفة الأساسية يجب أن تفي بالقيد الهندسي المذكور أعلاه لجميع النقاط المتناظرة. لذلك، يمكننا كتابة نظام من المعادلات الخطية واستخدام تقنيات الجبر الخطي لحل المصفوفة F.
ومع ذلك، غالبًا ما تكون البيانات الحقيقية صاخبة وتحتوي على قيم متطرفة، مما قد يؤدي إلى تقديرات غير دقيقة للمصفوفة الأساسية. لذلك، غالبًا ما يتم استخدام تقنيات قوية مثل RANSAC (Random Sample Consensus) لتصفية القيم المتطرفة وتحسين دقة التقدير.
خطوات خوارزمية النقاط الثماني:
- تطبيع البيانات: قبل تطبيق الخوارزمية، من المهم تطبيع إحداثيات النقاط المتناظرة لتحسين استقرار الحل. يتضمن ذلك عادةً ترجمة وتوسيع نطاق النقاط بحيث يكون مركزها بالقرب من الأصل ومتوسط المسافة من الأصل يساوي تقريبًا الجذر التربيعي لـ 2.
- بناء المصفوفة A: لكل زوج من النقاط المتناظرة (pi, p’i)، نقوم ببناء صف في المصفوفة A باستخدام المعادلة:
Ai = [x’ixi, x’iyi, x’i, y’ixi, y’iyi, y’i, xi, yi, 1]
حيث (xi, yi) هي إحداثيات النقطة pi و (x’i, y’i) هي إحداثيات النقطة p’i. - حل نظام المعادلات الخطية: نقوم بتشكيل نظام المعادلات الخطية Af = 0، حيث f هو متجه يحتوي على عناصر المصفوفة الأساسية F. يمكن حل هذا النظام باستخدام تحليل القيمة المفردة (SVD) للعثور على متجه f المقابل لأصغر قيمة مفردة.
- إعادة تشكيل المصفوفة F: نعيد تشكيل المتجه f إلى مصفوفة 3×3 F.
- فرض قيد الرتبة: يجب أن تكون رتبة المصفوفة الأساسية F تساوي 2. لفرض هذا القيد، نقوم بإجراء تحليل القيمة المفردة للمصفوفة F (F = USVT) واستبدال أصغر قيمة مفردة بصفر. ثم نعيد بناء المصفوفة F’ = US’VT، حيث S’ هي مصفوفة قطرية تحتوي على القيم المفردة المعدلة.
- إلغاء تطبيع البيانات: بعد الحصول على المصفوفة الأساسية، يجب إلغاء تطبيعها باستخدام تحويلات التطبيع المستخدمة في الخطوة الأولى.
تطبيقات المصفوفة الأساسية
كما ذكرنا سابقًا، للمصفوفة الأساسية العديد من التطبيقات العملية في مجال رؤية الحاسوب. فيما يلي بعض الأمثلة التفصيلية:
- إعادة بناء المشهد ثلاثي الأبعاد: تسمح المصفوفة الأساسية بتقدير عمق المشهد من خلال تحديد النقاط المتناظرة في صور متعددة. يمكن استخدام هذه المعلومات لإنشاء نموذج ثلاثي الأبعاد للمشهد، والذي يمكن استخدامه بعد ذلك في مجموعة متنوعة من التطبيقات، مثل الواقع الافتراضي والواقع المعزز.
- الملاحة الذاتية للروبوتات: يمكن للروبوتات استخدام المصفوفة الأساسية لتحديد حركتها بالنسبة للبيئة المحيطة بها. من خلال مقارنة الصور التي تلتقطها الكاميرا الخاصة بها مع الصور السابقة، يمكن للروبوت تقدير حركته وحساب مساره. هذا أمر بالغ الأهمية لتطبيقات مثل القيادة الذاتية والروبوتات الصناعية.
- تتبع الحركة: يمكن استخدام المصفوفة الأساسية لتتبع حركة الأجسام في الفيديو، حتى في حالة وجود تغييرات كبيرة في زاوية الرؤية. من خلال تحديد النقاط المتناظرة على الجسم في إطارات مختلفة من الفيديو، يمكن تتبع حركته بدقة. يستخدم هذا في تطبيقات مثل تحليل الفيديو الرياضي والمراقبة الأمنية.
- تحسين الصور: يمكن استخدام المصفوفة الأساسية لتصحيح التشوهات الهندسية في الصور، مثل تلك الناتجة عن عدسات واسعة الزاوية. من خلال تقدير المصفوفة الأساسية بين الصورة المشوهة وصورة مثالية، يمكن تصحيح التشوهات وإنشاء صورة أكثر واقعية. يستخدم هذا في تطبيقات مثل التصوير الفوتوغرافي المعماري والتصوير الطبي.
المصفوفة الأساسية مقابل المصفوفة الجوهرية
غالبًا ما يتم الخلط بين المصفوفة الأساسية والمصفوفة الجوهرية (Essential Matrix). كلاهما يصف العلاقة بين صورتين مجسمتين، ولكن هناك فرق رئيسي بينهما.
المصفوفة الجوهرية تعتمد على أن الكاميرات معايرة، أي أن معلمات الكاميرا الداخلية (مثل الطول البؤري والمركز البصري) معروفة. في هذه الحالة، يمكن التعبير عن العلاقة بين النقاط المتناظرة باستخدام المصفوفة الجوهرية.
أما المصفوفة الأساسية، فهي لا تتطلب معرفة معلمات الكاميرا الداخلية. يمكن تقديرها من النقاط المتناظرة وحدها. إذا كانت معلمات الكاميرا الداخلية معروفة، فيمكن حساب المصفوفة الجوهرية من المصفوفة الأساسية والعكس صحيح.
عيوب المصفوفة الأساسية
على الرغم من أن المصفوفة الأساسية أداة قوية، إلا أنها تعاني من بعض العيوب:
- الحساسية للضوضاء: يمكن أن يؤدي وجود ضوضاء في البيانات إلى تقديرات غير دقيقة للمصفوفة الأساسية. لذلك، من المهم استخدام تقنيات قوية لتصفية الضوضاء والقيم المتطرفة.
- الاعتماد على عدد كاف من النقاط المتناظرة: تتطلب خوارزميات تقدير المصفوفة الأساسية عددًا كافيًا من النقاط المتناظرة للحصول على تقدير دقيق. في بعض الحالات، قد يكون من الصعب الحصول على عدد كاف من النقاط المتناظرة، خاصة في المشاهد التي تحتوي على القليل من الميزات.
- الصعوبة في التعامل مع الحالات المتدهورة: في بعض الحالات، مثل عندما تكون الكاميرات تتحرك على طول خط مستقيم، تصبح المصفوفة الأساسية غير محددة جيدًا. في هذه الحالات، قد يكون من الضروري استخدام تقنيات إضافية لتقدير الحركة النسبية للكاميرات.
خاتمة
تعتبر المصفوفة الأساسية أداة أساسية في رؤية الحاسوب، حيث توفر وسيلة لوصف العلاقة الهندسية بين صورتين مجسمتين. تلعب دورًا حاسمًا في مجموعة متنوعة من التطبيقات، بما في ذلك إعادة بناء المشهد ثلاثي الأبعاد، والملاحة الذاتية للروبوتات، وتتبع الحركة، وتحسين الصور. على الرغم من بعض العيوب، تظل المصفوفة الأساسية أداة قوية ومرنة لحل العديد من المشاكل في مجال رؤية الحاسوب.