Odm: تتم محاذاة إعادة بناء جزئية واحدة فقط لكل نموذج فرعي أثناء محاذاة النماذج الفرعية

تم إنشاؤها على ٢ مارس ٢٠٢٠  ·  5تعليقات  ·  مصدر: OpenDroneMap/ODM

كيف قمت بتثبيت OpenDroneMap؟ (Docker ، أصلاً ، ...)؟

عامل ميناء

ما هو متصفحك ونظام التشغيل لديك؟ (انسخ / الصق ناتج https://www.whatismybrowser.com/)

Chrome 79 على Linux

ما المشكلة؟

عند إنشاء عمليات إعادة بناء جزئية ، يبدو أن هناك مشكلة في إخراج محاذاة إعادة الإعمار.
وفقًا لمصادر OpenSfM ، يتم طرح كل إعادة بناء جزئية من كل نموذج فرعي في مشكلة ضبط حزمة كبيرة ، ثم يتم إخراجها كمجموعة من تحويلات التشابه التي يتم تطبيقها على كل إعادة بناء جزئية ثم حفظها في ملف إعادة البناء المحاذي.
ومع ذلك ، في الواقع ، يبدو أنه تم تحديث إعادة بناء جزئية واحدة فقط. يبدو أنني لا أستطيع معرفة السبب.

ماذا يجب أن يكون السلوك المتوقع؟ إذا كان هذا طلب ميزة ، فيرجى وصف التغييرات التي تعتقد أنه يجب إجراؤها على الكود بالتفصيل ، مع ذكر الملفات والأسطر التي يجب إجراء التغييرات فيها ، إن أمكن.

أتوقع أن يتم تعديل كل نقطة وتصويرها في كل إعادة بناء جزئية على الأقل بحجم 1e-6 ، ولكن يبدو أن هذا صحيح فقط لإعادة بناء جزئية واحدة في كل نموذج فرعي. جميع عمليات إعادة البناء الجزئية الأخرى متطابقة في المقارنة جنبًا إلى جنب لكل لقطة ونقطة.

(كخطوة جانبية ، سأكون مهتمًا بفهم سبب إنشاء تحويل التشابه لإنشاء تحويل جامد ، بدلاً من مجرد تطبيق ناتج الحزمة على إعادة الإعمار ككل. أتوقع أن يؤدي هذا إلى إنشاء حدود أكثر سلاسة بين النماذج الفرعية؟ معالجة؟)

كيف يمكننا إعادة إنتاج هذا؟ (ما الخطوات التي قمت بها لبدء المشكلة؟ ما هي المعلمات التي تستخدمها للمعالجة؟ إذا أمكن ، يرجى تضمين نسخة من مجموعة البيانات التي تم تحميلها على Google Drive أو Dropbox. كن مفصلاً)

قم بتشغيل مرحلة align_submodels في OpenSfM على مجموعة بيانات مقسمة إلى نماذج فرعية متعددة تحتوي أيضًا على عمليات إعادة بناء جزئية متعددة. يجب أن يكون هذا قابلاً للتحقيق بسهولة عن طريق خفض الحد الأدنى لعدد الميزات وتعيين تقسيم على مجموعة بيانات بعدد كافٍ من الإدخالات.

bug help wanted

التعليق الأكثر فائدة

لا مشكلة! إنها قاعدة رموز ممتعة. :هدية مجانية:
تم دمجها الآن في كل من OpenDroneMap / OpenSfM و mapillary / OpenSfM ، لذا أغلق. :)

ال 5 كومينتر

أعتقد أن هذا قد يكون خطأ وليس تحسينًا.
من المصادر ، يجب دائمًا محاذاة جميع عمليات إعادة البناء الجزئية ، لكن لا يمكنني بالضرورة القول إنه حتى الفهرس 0 الجزئي الذي نستخدمه في الانقسام / الدمج الآن والذي تم تحديثه بالفعل في المحاذاة - مما يعني أننا قد نرى في هذه الحالات دمج مما يؤدي إلى سحب غير محاذاة.

وجدته. من الواضح أن طريقة itertools.groupby المستخدمة في application_transformations (التحويلات) في OpenSfM يجب أن يتم تمريرها من قائمة مرتبة بالفعل ، وإلا فلن تقوم بتجميع الإدخالات بشكل صحيح. نظرًا لأنه يتم تحميل إعادة الإعمار لكل مجموعة ، سيتم إعادة تحميل عمليات إعادة البناء غير المحاذاة والكتابة فوق أي مكونات تمت محاذاتها مسبقًا.

تقديم PR إلى 099 و mapillary OpenSfM بعد قليل. : تادا:

جميل! شكرا للنظر في هذا linusmartensson

لا مشكلة! إنها قاعدة رموز ممتعة. :هدية مجانية:
تم دمجها الآن في كل من OpenDroneMap / OpenSfM و mapillary / OpenSfM ، لذا أغلق. :)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات