توافق العينة العشوائية
تُعدّ خوارزمية توافق العينة العشوائية ( RANSAC ) طريقةً تكراريةً لتقدير معلمات نموذج رياضي من مجموعة بيانات مُرصَدة تحتوي على قيم شاذة ، وذلك عندما لا تؤثر هذه القيم الشاذة على قيم التقديرات. ولذلك، يُمكن تفسيرها أيضًا كطريقة للكشف عن القيم الشاذة. [ 1 ] وهي خوارزمية غير حتمية بمعنى أنها تُنتج نتيجةً معقولةً باحتمالية معينة، وتزداد هذه الاحتمالية مع زيادة عدد التكرارات. نُشرت الخوارزمية لأول مرة بواسطة فيشلر وبولز في معهد SRI الدولي عام 1981. وقد استخدموا RANSAC لحل مشكلة تحديد الموقع (LDP)، حيث يتمثل الهدف في تحديد النقاط في الفضاء التي تُسقط على صورة ما إلى مجموعة من المعالم ذات المواقع المعروفة.
تستخدم خوارزمية RANSAC أسلوب أخذ العينات العشوائية المتكررة . [ 2 ] ويفترض أساسًا أن البيانات تتكون من "قيم داخلية"، أي بيانات يمكن تفسير توزيعها بواسطة مجموعة من معلمات النموذج، مع احتمال تعرضها للتشويش، و"قيم خارجية"، وهي بيانات لا تتوافق مع النموذج. ويمكن أن تنشأ القيم الخارجية، على سبيل المثال، من قيم متطرفة للتشويش أو من قياسات خاطئة أو فرضيات غير صحيحة حول تفسير البيانات. وتفترض خوارزمية RANSAC أيضًا أنه، بالنظر إلى مجموعة (صغيرة عادةً) من القيم الداخلية، توجد طريقة لتقدير معلمات نموذج يُفسر هذه البيانات أو يُطابقها على النحو الأمثل.
مثال
مثال بسيط على ذلك هو رسم خط ثنائي الأبعاد لمجموعة من البيانات. بافتراض أن هذه المجموعة تحتوي على نقاط داخلية (أي نقاط يمكن تمثيلها تقريبًا بخط) ونقاط خارجية (أي نقاط لا يمكن تمثيلها بهذا الخط)، فإن طريقة المربعات الصغرى البسيطة لرسم الخط ستنتج عادةً خطًا غير مناسب للبيانات التي تشمل النقاط الداخلية والخارجية. والسبب هو أنه يُمثل جميع النقاط، بما فيها النقاط الخارجية، على النحو الأمثل. من ناحية أخرى، تحاول خوارزمية RANSAC استبعاد النقاط الخارجية وإيجاد نموذج خطي يستخدم النقاط الداخلية فقط في حساباته. يتم ذلك عن طريق رسم نماذج خطية على عدة عينات عشوائية من البيانات، ثم اختيار النموذج الأنسب لمجموعة فرعية من البيانات. ولأن النقاط الداخلية تميل إلى أن تكون أكثر ارتباطًا خطيًا من مزيج عشوائي من النقاط الداخلية والخارجية، فإن مجموعة فرعية عشوائية تتكون بالكامل من النقاط الداخلية ستُعطي أفضل نموذج. من الناحية العملية، لا يوجد ضمان بأن يتم أخذ عينة عشوائية من مجموعة فرعية من القيم الداخلية، ويعتمد احتمال نجاح الخوارزمية على نسبة القيم الداخلية في البيانات بالإضافة إلى اختيار العديد من معلمات الخوارزمية.
مجموعة بيانات تحتوي على العديد من القيم الشاذة التي يجب رسم خط لها.
الخط المُلائم باستخدام RANSAC؛ القيم الشاذة ليس لها تأثير على النتيجة.
ملخص
خوارزمية RANSAC هي تقنية تعلم لتقدير معلمات النموذج من خلال أخذ عينات عشوائية من البيانات المرصودة. عند وجود مجموعة بيانات تحتوي عناصرها على قيم داخلية وخارجية، تستخدم RANSAC آلية التصويت لإيجاد أفضل نتيجة مطابقة. تُستخدم عناصر البيانات في مجموعة البيانات للتصويت لنموذج واحد أو أكثر. يعتمد تطبيق آلية التصويت هذه على فرضيتين: الأولى، أن الخصائص المشوشة لن تصوت بشكل متسق لأي نموذج واحد (عدد قليل من القيم الخارجية)، والثانية، وجود عدد كافٍ من الخصائص للاتفاق على نموذج جيد (عدد قليل من البيانات المفقودة). تتكون خوارزمية RANSAC أساسًا من خطوتين تتكرران بشكل متكرر:
- يتم اختيار عينة فرعية عشوائية تحتوي على أقل عدد ممكن من عناصر البيانات من مجموعة البيانات المدخلة. ويتم حساب نموذج ملائم باستخدام عناصر هذه العينة الفرعية فقط. ويكفي عدد عناصر العينة الفرعية (أي كمية البيانات فيها) لتحديد معلمات النموذج.
- تتحقق الخوارزمية من عناصر مجموعة البيانات الكاملة التي تتوافق مع النموذج المُنشأ باستخدام معلمات النموذج المُقدَّرة والمُستخرجة من الخطوة الأولى. يُعتبر عنصر البيانات شاذًا إذا لم يتوافق مع النموذج ضمن عتبة خطأ مُحدَّدة تُحدِّد أقصى انحراف للبيانات عن القيم الصحيحة (تُعتبر عناصر البيانات التي تتجاوز هذا الانحراف شاذة).
تُسمى مجموعة النقاط المتوافقة التي تم الحصول عليها لنموذج المطابقة بمجموعة التوافق . يكرر خوارزمية RANSAC الخطوتين السابقتين بشكل متكرر حتى تحتوي مجموعة التوافق التي تم الحصول عليها في تكرار معين على عدد كافٍ من النقاط المتوافقة.
تتكون مدخلات خوارزمية RANSAC من مجموعة من قيم البيانات المرصودة، ونموذج يُطابق هذه البيانات، وبعض معايير الثقة التي تُحدد القيم الشاذة. وبمزيد من التفصيل، تُحقق خوارزمية RANSAC هدفها بتكرار الخطوات التالية:
- اختر مجموعة فرعية عشوائية من البيانات الأصلية. أطلق على هذه المجموعة الفرعية اسم " القيم الداخلية الافتراضية" .
- يتم تركيب نموذج على مجموعة النقاط الداخلية الافتراضية.
- ثم يتم اختبار جميع البيانات مقابل النموذج المُطابق. وتُسمى جميع نقاط البيانات (من البيانات الأصلية) التي تُطابق النموذج المُقدَّر جيدًا، وفقًا لدالة خسارة خاصة بالنموذج، مجموعة التوافق (أي مجموعة النقاط الداخلية للنموذج).
- يكون النموذج المقدر جيدًا إلى حد معقول إذا تم تصنيف عدد كافٍ من نقاط البيانات كجزء من مجموعة الإجماع.
- يمكن تحسين النموذج بإعادة تقديره باستخدام جميع أعضاء مجموعة التوافق. وسيتم استخدام جودة المطابقة، كمقياس لمدى توافق النموذج مع مجموعة التوافق، لتحسين مطابقة النموذج مع استمرار التكرارات (على سبيل المثال، عن طريق تحديد هذا المقياس كمعيار لجودة المطابقة في التكرار التالي).
للوصول إلى مجموعة معلمات نموذج جيدة بما فيه الكفاية، يتم تكرار هذا الإجراء عددًا ثابتًا من المرات، وفي كل مرة ينتج إما رفض نموذج بسبب وجود عدد قليل جدًا من النقاط في مجموعة التوافق، أو نموذج مُحسَّن بحجم مجموعة توافق أكبر من مجموعة التوافق السابقة.

الشفرة الزائفة
تعمل خوارزمية RANSAC العامة وفقًا للرمز الزائف التالي :
منح: البيانات – مجموعة من الملاحظات. النموذج – نموذج لشرح نقاط البيانات المرصودة. n – الحد الأدنى لعدد نقاط البيانات المطلوبة لتقدير معلمات النموذج. k – الحد الأقصى لعدد التكرارات المسموح بها في الخوارزمية. t – قيمة عتبة لتحديد نقاط البيانات التي تتناسب جيدًا مع النموذج (الداخلية). د - عدد نقاط البيانات القريبة (الداخلية) المطلوبة للتأكيد على أن النموذج يتناسب جيدًا مع البيانات. يعود: أفضل ملاءمة - معلمات النموذج التي قد تناسب البيانات بشكل أفضل (أو فارغة إذا لم يتم العثور على نموذج جيد). عدد التكرارات = 0 أفضل ملاءمة = لا شيء bestErr = شيء كبير حقًا // يتم استخدام هذه المعلمة لتحسين معلمات النموذج للحصول على أفضل ملاءمة للبيانات مع استمرار التكرارات. طالما أن عدد التكرارات أقل من k، نفّذ maybeInliers := n قيمة مختارة عشوائيًا من البيانات ربما النموذج := معلمات النموذج المُلائمة لنقاط ربما الداخلية confirmedInliers := مجموعة فارغة لكل نقطة في البيانات ، إذا كانت النقطة تتناسب مع النموذج ربما مع خطأ أصغر من t، فـ أضف نقطة إلى النقاط الداخلية المؤكدة إذا انتهى الشرط، انتهى التكرار، إذا كان عدد العناصر في confirmedInliers أكبر من d، فـ // هذا يعني أننا ربما وجدنا نموذجًا جيدًا. // الآن اختبر مدى جودته. betterModel := معلمات النموذج المُلائمة لجميع النقاط في confirmedInliers thisErr := مقياس لمدى ملاءمة betterModel لهذه النقاط إذا كان هذا الخطأ < أفضل خطأ ، أفضل ملاءمة := نموذج أفضل أفضل خطأ := هذا الخطأ نهاية الشرط نهاية الشرط تكرارات الزيادة نهاية الحلقةالعودة إلى أفضل ملاءمة
مثال على التعليمات البرمجية
تطبيق بايثون يحاكي الشفرة الزائفة. كما يُعرّف هذا التطبيق LinearRegressorدالة تعتمد على طريقة المربعات الصغرى، ويُطبّقها RANSACعلى مسألة انحدار ثنائية الأبعاد، ويُصوّر النتيجة.
from copy import copy import numpy as np from numpy.random import default_rng rng = default_rng ()class RANSAC : def __init__ ( self , n = 10 , k = 100 , t = 0.05 , d = 10 , model = None , loss = None , metric = None ): self.n = n # `n`: الحد الأدنى لعدد نقاط البيانات لتقدير المعلمات self.k = k # `k`: الحد الأقصى للتكرارات المسموح بها self.t = t # `t`: قيمة العتبة لتحديد ما إذا كانت النقاط مناسبة بشكل جيد self.d = d # `d`: عدد نقاط البيانات المتقاربة المطلوبة للتأكد من أن النموذج مناسب بشكل جيد self.model = model # ` model` : الفئة التي تُنفذ ` fit` و` predict` self.loss = loss # ` loss` : دالة لـ `y_true` و`y_pred` تُرجع متجهًا self . metric = metric # ` metric` : دالة لـ `y_true` و `y_pred` وتعيد قيمة عشرية . self.best_fit = None self.best_error = np.infdef fit ( self , X , y ): for _ in range ( self . k ): ids = rng . permutation ( X . shape [ 0 ])maybe_inliers = ids [ : self.n ] maybe_model = copy ( self.model ) .fit ( X [ maybe_inliers ] , y [ maybe_inliers ] )thresholded = ( self . loss ( y [ ids ][ self . n :], maybe_model . predict ( X [ ids ][ self . n :])) < self . t )inlier_ids = ids [ self.n : ] [ np.flatnonzero ( thresholded ) .flatten ( ) ]إذا كان حجم inlier_ids أكبر من حجم self.d : inlier_points = np.hstack ( [ maybe_inliers , inlier_ids ] ) better_model = copy ( self.model ) .fit ( X [ inlier_points ] , y [ inlier_points ] )this_error = self.metric ( y [ inlier_points ] , better_model.predict ( X [ inlier_points ] ) )إذا كان هذا الخطأ أقل من أفضل خطأ : أفضل خطأ = هذا الخطأ ، أفضل ملاءمة = النموذج الأفضلالعودة إلى الذاتdef predict ( self , X ) : return self.best_fit.predict ( X )دالة خسارة الخطأ التربيعي ( y_true , y_pred ): تُرجع ( y_true - y_pred ) ** 2دالة mean_square_error ( y_true , y_pred ): تُرجع np . sum ( square_error_loss ( y_true , y_pred )) / y_true . shape [ 0 ]class LinearRegressor : def __init__ ( self ): self . params = Noneدالة ` fit` ( self , X : np.ndarray , y : np.ndarray ) : r , _ = X.shape X = np.hstack ( [ np.ones ( ( r , 1 ) ) , X ] ) self.params = np.linalg.inv ( X.T @ X ) @ X.T @ y return selfدالة التنبؤ ( self , X : np.ndarray ) : r , _ = X.shape X = np.hstack ( [ np.ones ( ( r , 1 ) ) , X ] ) return X @ self.paramsإذا كان __name__ يساوي "__main__" :regressor = RANSAC ( model = LinearRegressor (), loss = square_error_loss , metric = mean_square_error )X = np . array ([ - 0.848 , - 0.800 , - 0.704 , - 0.632 , - 0.488 , - 0.472 , - 0.368 , - 0.336 , - 0.280 , - 0.200 , - 0.00800 , - 0.0840 , 0.0240 , 0.100 , 0.124 , 0.148 , 0.232 , 0.236 , 0.324 , 0.356 , 0.368 , 0.440 , 0.512 , 0.548 , 0.660 , 0.640 , 0.712 , 0.752 , 0.776 ، 0.880 ، 0.920 ، 0.944 ، -0.108 ، -0.168 ، -0.720 ، -0.784 ، -0.224 ، -0.604 ، -0.740 ، -0.0440 ، 0.388 ، -0.0200 ، 0.752 ، 0.416 ، -0.0800 ، -0.348 ، 0.988 ، 0.776 ، 0.680 ، 0.880 ، -0.816 ، -0.424 ، -0.932 ، 0.272 ، -0.556 ، -0.568 ، -0.600 ، -0.716 ، -0.796 ، -0.880 ، -0.972 ، -0.916 ، 0.816 ، 0.892 ، 0.956 ، 0.980 ، 0.988 ، 0.992 ، 0.00400 ] ) . reshape ( -1 , 1 ) y = np.array ( [- 0.917 ، - 0.833 ، - 0.801 ، - 0.665 ، - 0.605 ، - 0.545 ، - 0.509 ، - 0.433 ، - 0.397 ، - 0.281 ، - 0.205 ، - 0.169 ، - 0.0531 ، - 0.0651 ، 0.0349 ، 0.0829 ، 0.0589 ، 0.175 ، 0.179 ، 0.191 ، 0.259 ، 0.287 ، 0.359 ، 0.395 ، 0.483 ، 0.539 ، 0.543 ، 0.603 0.667 ، 0.679 ، 0.751 ، 0.803 ، -0.265 ، -0.341 ، 0.111 ، -0.113 ، 0.547 ، 0.791 ، 0.551 ، 0.347 ، 0.975 ، 0.943 ، -0.249 ، -0.769 ، -0.625 ، -0.861 ، -0.749 ، -0.945 ، -0.493 ، 0.163 ، -0.469 ، 0.0669 ، 0.891 ، 0.623 ، -0.609 ، -0.677 ، -0.721, - 0.745 , - 0.885 , - 0.897 , - 0.969 , - 0.949 , 0.707 , 0.783 , 0.859 , 0.979 , 0.811 , 0.891 , - 0.137 ]) . reshape ( - 1 , 1 )regressor.fit ( X , y )استورد مكتبة matplotlib.pyplot كـ plt ، ثم استخدم نمط "seaborn-darkgrid" في plt.style . ثم أنشئ الشكل والمحور باستخدام plt.subplots ( 1 , 1 ) ، ثم اضبط نسبة أبعاد المحور إلى 1 .plt.scatter ( X , y )line = np.linspace ( -1 , 1 , num = 100 ) .reshape ( -1 , 1 ) plt.plot ( line , regressor.predict ( line ) , c = " peru " ) plt.show ( )
RANSACالتطبيق. يوضح الخط البرتقالي معلمات المربعات الصغرى التي تم العثور عليها بواسطة النهج التكراري، والذي يتجاهل بنجاح النقاط الشاذة.حدود
تُحدد قيمة العتبة ( t ) لتحديد متى تتوافق نقطة بيانات مع النموذج ، وعدد النقاط المتوافقة مع النموذج (النقاط التي تتوافق مع النموذج ضمن نطاق t ) اللازمة للتأكد من ملاءمة النموذج للبيانات ( d )، بناءً على متطلبات التطبيق ومجموعة البيانات، وربما بناءً على التقييم التجريبي. أما عدد التكرارات ( k )، فيمكن تحديده تقريبًا كدالة لاحتمالية النجاح المطلوبة ( p ) كما هو موضح أدناه.
لنفترض أن p هي الاحتمالية المطلوبة بأن تُقدّم خوارزمية RANSAC نتيجةً مفيدةً واحدةً على الأقل بعد تشغيلها. في الحالة القصوى (لتبسيط الاشتقاق)، تُعيد RANSAC نتيجةً ناجحةً إذا اختارت في إحدى التكرارات نقاطًا داخليةً فقط من مجموعة بيانات الإدخال عند اختيارها n نقطةً من مجموعة البيانات التي تُقدّر منها معلمات النموذج. (بمعنى آخر، جميع نقاط البيانات n المختارة هي نقاط داخلية للنموذج المُقدّر بواسطة هذه النقاط).لنفترض أن احتمال اختيار نقطة بيانات داخلية في كل مرة يتم فيها اختيار نقطة بيانات واحدة هو تقريبًا،
- = عدد النقاط الداخلية في البيانات / عدد النقاط في البيانات
ومن الحالات الشائعة أنلا يمكن معرفة قيمة بشكل دقيق مسبقًا بسبب وجود عدد غير معروف من القيم المتوافقة في البيانات قبل تشغيل خوارزمية RANSAC، ولكن يمكن إعطاء قيمة تقريبية. مع قيمة تقريبية معينة لـوبافتراض تقريبي أن النقاط n اللازمة لتقدير النموذج يتم اختيارها بشكل مستقل (وهو افتراض تقريبي لأن كل اختيار لنقطة بيانات يقلل من عدد نقاط البيانات المرشحة للاختيار في الاختيار التالي في الواقع)،هي احتمالية أن تكون جميع النقاط n نقاطًا داخلية ويمثل احتمال أن تكون نقطة واحدة على الأقل من النقاط n شاذة، وهي حالة تعني أنه سيتم تقدير نموذج سيئ من مجموعة النقاط هذه. هذا الاحتمال مرفوعًا للأس k (عدد التكرارات في تشغيل الخوارزمية) هو احتمال ألا تختار الخوارزمية أبدًا مجموعة من n نقطة تكون جميعها ضمن النطاق، وهذا هو نفسه(احتمالية عدم نجاح الخوارزمية في تقدير النموذج) في الحالات القصوى. وبالتالي،
والذي، بعد أخذ اللوغاريتم لكلا الطرفين، يؤدي إلى
تفترض هذه النتيجة اختيار نقاط البيانات n بشكل مستقل، أي أن النقطة التي تم اختيارها سابقًا تُستبدل ويمكن اختيارها مرة أخرى في نفس التكرار. غالبًا ما يكون هذا النهج غير عملي، ويجب اعتبار القيمة المُستنتجة لـ k حدًا أقصى في حالة اختيار النقاط دون استبدال. على سبيل المثال، عند البحث عن خط يُطابق مجموعة البيانات الموضحة في الشكل أعلاه، تختار خوارزمية RANSAC عادةً نقطتين في كل تكرار، وتحسب maybe_modelالمسافة بينهما، ومن الضروري أن تكون هاتان النقطتان مختلفتين.
لزيادة الثقة، يمكن إضافة الانحراف المعياري أو مضاعفاته إلى قيمة k . ويُعرَّف الانحراف المعياري لـ k على النحو التالي:
المزايا والعيوب
تتمثل إحدى مزايا خوارزمية RANSAC في قدرتها على إجراء تقدير قوي [ 3 ] لمعلمات النموذج، أي أنها تستطيع تقدير المعلمات بدقة عالية حتى في وجود عدد كبير من القيم الشاذة في مجموعة البيانات. أما عيبها، فهو عدم وجود حد أقصى للوقت اللازم لحساب هذه المعلمات (باستثناء حالة استنفاد الموارد). فعندما يكون عدد التكرارات محدودًا، قد لا يكون الحل المُتحصل عليه مثاليًا، بل قد لا يُناسب البيانات بشكل جيد. وبهذا، تُقدم RANSAC حلاً وسطًا؛ فكلما زاد عدد التكرارات، زادت احتمالية الحصول على نموذج معقول. علاوة على ذلك، لا تستطيع RANSAC دائمًا إيجاد المجموعة المثلى حتى للمجموعات الملوثة بشكل متوسط، وعادةً ما يكون أداؤها ضعيفًا عندما يكون عدد القيم الصحيحة أقل من 50%. وقد طُرحت خوارزمية Optimal RANSAC [ 4 ] لمعالجة هاتين المشكلتين، وهي قادرة على إيجاد المجموعة المثلى للمجموعات الملوثة بشدة، حتى مع نسبة قيم صحيحة أقل من 5%. ومن عيوب RANSAC الأخرى أنها تتطلب تحديد عتبات خاصة بكل مشكلة.
لا يستطيع خوارزمية RANSAC تقدير سوى نموذج واحد لمجموعة بيانات معينة. وكما هو الحال مع أي منهج يعتمد على نموذج واحد، فعند وجود نموذجين (أو أكثر)، قد تفشل RANSAC في إيجاد أي منهما. يُعد تحويل هوف تقنية تقدير قوية بديلة، وقد تكون مفيدة عند وجود أكثر من نموذج. وهناك منهج آخر لتوفيق النماذج المتعددة يُعرف باسم PEARL [ 5 ] ، والذي يجمع بين أخذ عينات من النموذج من نقاط البيانات كما في RANSAC، وإعادة التقدير التكراري للقيم الداخلية، وصياغة توفيق النماذج المتعددة كمسألة تحسين ذات دالة طاقة شاملة تصف جودة الحل الكلي.
التطبيقات
تُستخدم خوارزمية RANSAC غالبًا في رؤية الكمبيوتر ، على سبيل المثال، لحل مشكلة التطابق وتقدير المصفوفة الأساسية المتعلقة بزوج من الكاميرات المجسمة في آن واحد؛ انظر أيضًا: البنية من الحركة ، تحويل الميزات الثابتة المقياس ، دمج الصور ، تجزئة الحركة الصلبة .
التطوير والتحسينات
منذ عام 1981، أصبح برنامج RANSAC أداةً أساسيةً في مجال رؤية الحاسوب ومعالجة الصور. وفي عام 2006، بمناسبة الذكرى السنوية الخامسة والعشرين للخوارزمية، نُظِّمت ورشة عمل في المؤتمر الدولي لرؤية الحاسوب والتعرف على الأنماط (CVPR) لتلخيص أحدث الإضافات والتعديلات على الخوارزمية الأصلية، والتي تهدف في معظمها إلى تحسين سرعة الخوارزمية، ومتانة الحل المُقدَّر ودقته، وتقليل الاعتماد على الثوابت التي يُحدِّدها المستخدم.
قد يكون خوارزمية RANSAC حساسة لاختيار عتبة الضوضاء المناسبة التي تحدد نقاط البيانات التي تتوافق مع نموذج مُحدد بمجموعة معينة من المعلمات. إذا كانت هذه العتبة كبيرة جدًا، فإن جميع الفرضيات تميل إلى الترتيب بالتساوي (وهذا جيد). من ناحية أخرى، عندما تكون عتبة الضوضاء صغيرة جدًا، تميل المعلمات المُقدَّرة إلى عدم الاستقرار (أي أنه بمجرد إضافة أو إزالة نقطة بيانات من مجموعة النقاط الصحيحة، قد يتذبذب تقدير المعلمات). وللتعويض جزئيًا عن هذا التأثير غير المرغوب فيه، اقترح تور وآخرون تعديلين لخوارزمية RANSAC يُسميان MSAC (تقدير M باستخدام العينة والتوافق) وMLESAC (تقدير الاحتمال الأقصى باستخدام العينة والتوافق). [ 6 ] وتتمثل الفكرة الرئيسية في تقييم جودة مجموعة التوافق (أي البيانات التي تتوافق مع نموذج ومجموعة معينة من المعلمات) عن طريق حساب احتماليتها (بينما في الصيغة الأصلية لفيشلر وبولز، كان الترتيب هو عدد عناصر هذه المجموعة). اقترح توردوف [ 7 ] امتدادًا لخوارزمية MLESAC يأخذ في الحسبان الاحتمالات المسبقة المرتبطة بمجموعة البيانات المدخلة. [7] تُسمى الخوارزمية الناتجة Guided-MLESAC. وبالمثل، اقترح تشوم توجيه عملية أخذ العينات إذا كانت هناك معلومات مسبقة معروفة بشأن البيانات المدخلة، أي ما إذا كان من المرجح أن تكون البيانات ضمن النطاق أو خارجه. يُطلق على النهج المقترح اسم PROSAC، وهو اختصار لـ PROgressive SAmpl Consensus. [ 8 ]
اقترح تشوم وآخرون أيضًا نسخة عشوائية من خوارزمية RANSAC تُسمى R-RANSAC [ 9 ] لتقليل العبء الحسابي اللازم لتحديد مجموعة توافق جيدة. وتتلخص الفكرة الأساسية في التقييم المبدئي لجودة النموذج المُنشأ حاليًا باستخدام مجموعة مُصغّرة من النقاط بدلًا من مجموعة البيانات الكاملة. وتُحدد الاستراتيجية السليمة بثقة عالية متى يكون من الضروري تقييم مدى ملاءمة مجموعة البيانات الكاملة، أو متى يُمكن استبعاد النموذج بسهولة. ومن المنطقي الاعتقاد بأن تأثير هذا النهج يكون أكثر أهمية في الحالات التي تكون فيها نسبة النقاط الصحيحة كبيرة. يُطلق على نوع الاستراتيجية التي اقترحها تشوم وآخرون اسم "مخطط الاستباق". اقترح نيستر نموذجًا يُسمى Preemptive RANSAC [ 10 ] يسمح بتقدير قوي في الوقت الفعلي لبنية المشهد وحركة الكاميرا. وتتمثل الفكرة الأساسية لهذا النهج في توليد عدد ثابت من الفرضيات، بحيث تتم المقارنة بناءً على جودة الفرضية المُولدة بدلًا من مقارنتها بمقياس جودة مطلق.
حاول باحثون آخرون التعامل مع المواقف الصعبة التي يكون فيها مقياس التشويش غير معروف و/أو توجد نماذج متعددة. وقد عالج وانغ وسوتر المشكلة الأولى في دراستهما. [ 11 ] أما تولدو وآخرون، فيمثلون كل معلومة بدالة مميزة لمجموعة النماذج العشوائية التي تتوافق مع تلك النقطة. ثم تُكشف النماذج المتعددة على شكل مجموعات تُجمّع النقاط التي تدعم النموذج نفسه. ولا تتطلب خوارزمية التجميع، المسماة J-linkage، تحديدًا مسبقًا لعدد النماذج، كما أنها لا تستلزم ضبطًا يدويًا للمعلمات. [ 12 ]
تم تصميم خوارزمية RANSAC خصيصًا لتطبيقات تقدير الحالة المتكررة، حيث تتأثر قياسات الإدخال بالقيم الشاذة، وتكون أساليب مرشح كالمان ، التي تعتمد على التوزيع الغاوسي لخطأ القياس، محكوم عليها بالفشل. يُطلق على هذا النهج اسم KALMANSAC. [ 13 ]
طرق ذات صلة
- MLESAC (تقدير الاحتمال الأقصى لتوافق العينة) – يزيد من احتمالية أن تكون البيانات قد تم توليدها من النموذج المُلائم للعينة، على سبيل المثال نموذج خليط من القيم الداخلية والخارجية.
- MAPSAC (توافق العينة الاحتمالي اللاحق الأقصى) – توسع خوارزمية MLESAC لتشمل احتمالًا مسبقًا للمعلمات المراد ضبطها، وتعمل على زيادة الاحتمال اللاحق إلى أقصى حد.
- كالمانساك – الاستدلال السببي لحالة النظام الديناميكي
- إعادة التوزيع (الإحصاءات)
- تستخدم طريقة مونت كارلو للقفز والانتشار أخذ العينات العشوائي الذي يتضمن قفزات عالمية وانتشارًا محليًا لاختيار العينة في كل خطوة من خطوات RANSAC لتقدير هندسة الخطوط القطبية بين صور ذات خط أساس واسع جدًا. [ 14 ]
- FSASAC (RANSAC القائم على تصفية البيانات والتلدين المحاكي ) [ 15 ]
انظر أيضاً
ملحوظات
- ^ ستروتز، ت. (2016). تركيب البيانات وعدم اليقين (2 ed.). عرض سبرينغر. رقم ISBN 978-3-658-11455-8.
- ↑ كانتزلر، هـ. "إجماع العينة العشوائية (RANSAC)" . معهد الإدراك والفعل والسلوك، قسم المعلوماتية، جامعة إدنبرة. CiteSeerX 10.1.1.106.3035 . مؤرشف من الأصل بتاريخ 2023-02-04.
- ↑ الإحصاءات القوية، بيتر ج. هوبر، وايلي، 1981 (أعيد نشرها في غلاف ورقي، 2004)، الصفحة 1.
- ↑ أندرس هاست، يوهان نيسيو، أندريا ماركيتي (2013). " خوارزمية RANSAC المثلى - نحو خوارزمية قابلة للتكرار لإيجاد المجموعة المثلى ". مجلة WSCG 21 (1): 21-30.
- ↑ حسام إسحاق، يوري بويكوف (2012). "المطابقة الهندسية متعددة النماذج القائمة على الطاقة". المجلة الدولية لرؤية الحاسوب 97 (2: 1): 23-147. doi : 10.1007/s11263-011-0474-7 .
- ↑ بي إتش إس تور وأ. زيسرمان، MLESAC: مُقدِّر قوي جديد مع تطبيق لتقدير هندسة الصورة، مجلة رؤية الحاسوب وفهم الصور 78 (2000)، العدد 1، 138-156.
- ↑ BJ Tordoff و DW Murray، Guided-MLESAC: تقدير تحويل الصورة بشكل أسرع باستخدام المطابقة المسبقة ، IEEE Transactions on Pattern Analysis and Machine Intelligence 27 (2005)، رقم 10، 1523-1535.
- ↑ المطابقة باستخدام PROSAC - توافق العينة التدريجي ، وقائع مؤتمر رؤية الحاسوب والتعرف على الأنماط (سان دييغو)، المجلد 1، يونيو 2005، الصفحات 220-226
- ↑ أو. تشوم وج. ماتاس، خوارزمية RANSAC العشوائية مع اختبار Td,d، المؤتمر البريطاني الثالث عشر لرؤية الآلة، سبتمبر 2002. http://www.bmva.org/bmvc/2002/papers/50/
- ↑ D. Nistér, Preemptive RANSAC for live structure and motion estimation , IEEE International Conference on Computer Vision (Nice, France), October 2003, pp. 199–206.
- ↑ H. Wang and D. Suter, Robust adaptive-scale parametric model estimation for computer vision ., IEEE Transactions on Pattern Analysis and Machine Intelligence 26 (2004), no. 11, 1459–1474
- ↑ R. Toldo و A. Fusiello، تقدير الهياكل المتعددة القوية باستخدام J-linkage ، المؤتمر الأوروبي حول رؤية الكمبيوتر (مارسيليا، فرنسا)، أكتوبر 2008، ص 537-547.
- ↑ أ. فيدالدي، هـ. جين، ب. فافارو، وس. سواتو، كالمانساك: ترشيح قوي بالتوافق ، وقائع المؤتمر الدولي للرؤية الحاسوبية (ICCV)، المجلد 1، 2005، الصفحات 633-640
- ↑ براماشاري، أفيك س.؛ ساركار، سوديب (مارس 2013). "مونت كارلو الانتشار القفزي لتقدير الهندسة الإبيبولارية بين صور ذات خط أساس عريض جدًا". معاملات IEEE في تحليل الأنماط والذكاء الآلي . 35 (3): 755-762 . doi : 10.1109/TPAMI.2012.227 . PMID 26353140. S2CID 2524656 .
- ↑ W. Ruoyan and W. Junfeng, “ FSASAC: توافق العينة العشوائية القائم على مرشح البيانات والتلدين المحاكي ,” في IEEE Access، المجلد 9، الصفحات 164935-164948، 2021، doi: 10.1109/ACCESS.2021.3135416.
مراجع
- مارتن أ. فيشلر وروبرت س. بولز (يونيو 1981). "توافق العينة العشوائية: نموذج لنمذجة البيانات مع تطبيقات في تحليل الصور ورسم الخرائط الآلي" ( ملف PDF) . مجلة الاتصالات ACM . 24 (6): 381-395 . doi : 10.1145/358669.358692 . S2CID 972888. مؤرشف (ملف PDF) من النسخة الأصلية في 10 ديسمبر 2014.
- ديفيد أ. فورسيث وجين بونس (2003). رؤية الحاسوب: منهج حديث . برنتيس هول. ISBN 978-0-13-085198-7.
- ريتشارد هارتلي وأندرو زيسرمان (2003). هندسة الرؤية المتعددة في رؤية الحاسوب ( الطبعة الثانية). مطبعة جامعة كامبريدج.
- ستروتز، ت. (2016). ملاءمة البيانات وعدم اليقين (مقدمة عملية للمربعات الصغرى الموزونة وما بعدها) . الطبعة الثانية، سبرينغر فيو. ISBN 978-3-658-11455-8.
- تور، ب. هـ. س. وموراي، د. و. (1997). "تطوير ومقارنة الطرق القوية لتقدير المصفوفة الأساسية". المجلة الدولية لرؤية الحاسوب . 24 (3): 271-300 . doi : 10.1023/A:1007927408552 . S2CID 12031059 .
- أوندري تشوم (2005). "تقدير الهندسة من منظورين عن طريق العينة العشوائية والتوافق" (ملف PDF) . أطروحة دكتوراه .
- سونغلوك تشوي؛ تايمين كيم؛ وونبيل يو (2009). "تقييم أداء عائلة RANSAC" (ملف PDF) . ضمن وقائع المؤتمر البريطاني لرؤية الآلة (BMVC) . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 31 أغسطس 2020. تاريخ الاسترجاع: 1 أكتوبر 2010 .
- أندرس هاست؛ يوهان نيسيو؛ أندريا ماركيتي (2013). "خوارزمية RANSAC المثلى - نحو خوارزمية قابلة للتكرار لإيجاد المجموعة المثلى" (ملف PDF) . مجلة WSCG . 21 (1): 21-30 .
- حسام إسحاق؛ يوري بويكوف (2012). "المطابقة الهندسية متعددة النماذج القائمة على الطاقة" (ملف PDF) . المجلة الدولية لرؤية الحاسوب . 97 (2: 1): 23-147 . CiteSeerX 10.1.1.381.2434 . doi : 10.1007/s11263-011-0474-7 . S2CID 5461268 .
- الهندسة في مجال رؤية الحاسوب
- الخوارزميات الإحصائية
- القيم الشاذة إحصائياً
- إحصائيات قوية
- معهد SRI الدولي
