Homography
التجانس تحويل إسقاطي يربط المستويات بين المناظير، ما يتيح تصحيح المنظور وتسجيل الصور وتركيب الصور البانورامية.
التجانس تحويل إسقاطي قابل للعكس يربط النقاط في مستوى ما بنقاط في مستوى آخر، مع الحفاظ على استقامة الخطوط. في الرؤية الحاسوبية، يصف التجانس كيفية ظهور سطح مستوٍ من زوايا رؤية مختلفة: إذ يمكن تحويل صفحة مستطيلة صُوّرت بزاوية إلى مستطيل مواجه للكاميرا. يدعم التجانس تسجيل الصور وتصحيح المنظور وتركيب الصور البانورامية. «التحويل الإسقاطي» مرادف له؛ أما المصطلح اللغوي «المتجانس اللفظي» فيشير إلى كلمات متطابقة في تهجئتها.
آلية عمل مصفوفة التجانس#
يُمثَّل التجانس بمصفوفة 3 x 3، يُشار إليها عادةً بالرمز H. وتعمل المصفوفة على الإحداثيات المتجانسة، التي تمثل نقطة ثنائية الأبعاد باستخدام ثلاث قيم. وبعد الضرب المصفوفي، ينتج عن قسمة أول قيمتين في الناتج على القيمة الثالثة إحداثيات الصور العادية.
على الرغم من أن H تضم تسعة عناصر، فإن لها ثماني معلمات مستقلة، أو درجات حرية: فضرب كل عنصر في العدد نفسه غير الصفري لا يغيّر المطابقة. يوضح هذا الهندسة الخاصة بعمليات مطابقة الصور المستوية سبب كفاية أربع مطابقات مناسبة بين النقاط لتحديد التجانس.
التحويل الأفيني تجانس مقيّد يحافظ على الخطوط المتوازية. أما التجانس العام فيمثل أيضًا تأثيرات المنظور، ومنها تقارب الحواف المتوازية نحو نقطة التلاشي. وتتغير المسافات والزوايا عمومًا. طوّر ميشيل شال مفهوم التجانس في مذكرته لعام 1837 حول الثنائية والتجانس.
كيفية تقدير التجانس#
يبدأ التقدير بنقاط متطابقة: مواقع تمثل المعالم المادية نفسها في صورتين. ويمكن تحديد هذه النقاط يدويًا باختيار الزوايا، أو مطابقة النقاط المفتاحية المستخرجة عبر استخراج السمات. وتوفر أساليب مثل تحويل السمات الثابتة للمقياس واصفات—ملخصات رقمية للمظهر المحلي—لمطابقة السمات بين المناظير.
الحد الأدنى هو أربعة أزواج من النقاط، على ألا تقع أي ثلاث نقاط على استقامة واحدة في أي من المجموعتين. تحوّل خوارزمية التحويل الخطي المباشر (DLT) علاقات إحداثياتها إلى نظام خطي. وتُحسّن المطابقات الإضافية التقدير عندما تتضمن القياسات ضوضاء.
تتطلب المطابقات غير الصحيحة ملاءمة متينة. وتلائم خوارزمية الإجماع العشوائي للعينات (RANSAC) التحويلات المرشحة مرارًا لمجموعات فرعية صغيرة، وتحدد القيم الداخلية: وهي المطابقات المتوافقة مع تحويل مرشح. ويقيس خطأ إعادة الإسقاط المسافة بين نقطة مصدر محوّلة ووجهتها المرصودة. وتتيح واجهة برمجة تطبيقات تقدير التجانس في OpenCV تنفيذ هذه العملية عبر cv2.findHomography، وتُرجع كلًا من H وقناع القيم الداخلية.
تطبيق التجانس في Python#
يوفر OpenCV عمليتين منفصلتين لتقدير المصفوفة وتحويل الصورة. ثبّت التبعيات باستخدام pip install opencv-python numpy. يطابق هذا المثال الحدود المستطيلة للصورة النموذجية مع شبه منحرف:
from urllib.request import urlopen
import cv2
import numpy as np
image_url = "https://ultralytics.com/images/bus.jpg"
with urlopen(image_url) as response:
encoded = np.frombuffer(response.read(), dtype=np.uint8)
image = cv2.imdecode(encoded, cv2.IMREAD_COLOR)
height, width = image.shape[:2]
# حافظ على ترتيب الزوايا نفسه باتجاه عقارب الساعة في كلتا المصفوفتين.
source = np.float32([[0, 0], [width - 1, 0], [width - 1, height - 1], [0, height - 1]])
target = np.float32([[120, 80], [width - 121, 80], [width - 1, height - 1], [0, height - 1]])
matrix, _ = cv2.findHomography(source, target)
warped = cv2.warpPerspective(image, matrix, (width, height))
cv2.imwrite("homography_result.jpg", warped)تُظهر الصورة المحفوظة تقصيرًا منظوريًا: فحافتها العلوية أضيق، بينما تظل حواف المشهد المستقيمة مستقيمة.
استخدامات التجانس#
- معالجة المستندات: يحوّل تصحيح المنظور زوايا المستند المستوي الأربع إلى مستطيل. وتعمل خطوة المعالجة المسبقة هذه على توحيد تخطيط النص قبل التعرّف الضوئي على الأحرف، وفق هندسة التحويل المستوي نفسها الموضحة في أمثلة تصحيح المنظور في OpenCV.
- تركيب الصور البانورامية: تُحاذى الصور الفوتوغرافية المتداخلة قبل دمجها. ويستخدم نظام Autostitch الذي طوّره ماثيو براون وديفيد لوي السمات المحلية المطابقة لأتمتة إنشاء الصور البانورامية، بما في ذلك تحديد الصور المتداخلة ضمن مجموعات غير مرتبة.
في Ultralytics YOLO، يطبّق تعزيز RandomPerspective تحويلات إسقاطية أثناء التدريب، ويحوّل الصور ومربعات الإحاطة المرتبطة بها، ومخططات التقسيم، والنقاط المفتاحية معًا. ويتحكم الإعداد perspective في مكوّن المنظور ضمن تعزيز البيانات.
الحدود الهندسية والمفاهيم ذات الصلة#
يربط تجانس واحد بدقة بين مناظير كاميرا الثقب المثالية لمستوى واحد، أو بين المناظير الملتقطة عبر تدوير الكاميرا حول مركز إسقاطها. ومع انتقال الكاميرا ووجود أجسام على أعماق مختلفة، يؤدي اختلاف المنظر إلى إزاحة تعتمد على العمق. وتؤدي محاذاة مستوى الخلفية إلى بقاء أجسام المقدمة مزاحة، ما ينشئ حوافًا مزدوجة أو صورًا شبحية في الصور المركبة.
تعالج معايرة الكاميرا تشوه العدسة، إذ تتطلب هندسة الصورة المنحنية تصحيحًا قبل المحاذاة المستوية. وبالنسبة إلى المشاهد ثلاثية الأبعاد العامة، تقيّد الهندسة الإبيبولارية النقطة المطابقة بخط؛ أما التجانس فيتنبأ بموقعها مباشرةً. وفي الرؤية المجسمة، يوفّر موضع النقطة المتبقي على الخط الإبيبولاري معلومات التباين المستخدمة في تقدير العمق.










